La modération vous a écrit: Pour la bonne tenue de ce forum, veillez à respecter la syntaxe des balises (première lettre en majuscule puis le reste en minuscules, le tout entre crochets). [Calc] et non [CALC]. Nous avons modifié pour vous.
Bonjour à tous,
Voilà, je suis nouvelle sur le forum et j'aurais besoin d'un petit coup de main pour un fichier utilisé dans le cadre de mon travail.
Excusez-moi d'avance, je suis novice dans le domaine de la programmation de macro.
Je vous explique ce que je cherche à faire sur LibreOffice 6.1 :
si la cellule de la colonne H ("initiales")est non-vide de la feuille "Suivi Frigo", il faudrait déplacer la ligne dans la feuille "aliquot utilises".
Ensuite, il faudrait effacer le contenu de la première feuille ("Suivi Frigo") des colonnesB,C,D,E,G,H car il y a une formule dans la colonne F.
Voici une ébauche (n'étant pas certain du language à utiliser sur LibreOffice : option vbasupport 1?) :
Code : Tout sélectionner
Sub ExporterLignes()
Dim i As Long, Nf As Long
Nf = .Cells(Rows.Count, 1).End(xlUp).Row 'Dernière ligne
With Sheets("Suivi frigo") 'Feuille Suivi Frigo = base de données
For i = Nf To 2 Step -1 'Pour chaque ligne en partant de la dernière
If .Cells(i, 8)<>"" Then 'Si l'info en colonne 8 n'est pas vide
.Rows(i).Copy Sheets("Aliquot utilises").Rows(Nf + 1) 'Copier à la suite
Nf = Nf + 1 'Incrémenter la position de la dernière ligne
.Cells(i, 2).Delete 'Supprimer cellule colonne 2
.Cells(i, 3).Delete 'Supprimer cellule colonne 3
.Cells(i, 4).Delete 'Supprimer cellule colonne 4
.Cells(i, 5).Delete 'Supprimer cellule colonne 4
.Cells(i, 7).Delete 'Supprimer cellule colonne 4
.Cells(i, 8).Delete 'Supprimer cellule colonne 4
End If
Next i
End With
End Sub