Bonjour à tous,
J'aimerais développer une boucle avec macro VBA mais je ne sais pas quel type de boucle utiliser. Voici ma problématique:
Vérifier si le nombre de ligne en colonne A du classeur "données" est > 40
Si oui, alors on applique le code ci-dessous, c'est à dire qu'on renseigne les 40 étiquettes d'un doc Word avec la valeur des 40 premières cellules de la colonne A, on imprime le doc Word, on supprime les 40 premières lignes de la feuille 2 du doc Excel "Données" . En suite on vérifie à nouveau si le nombre de ligne en colonne A du classeur "données" est toujours > 40. Si oui on répète cette procédure et ainsi de suite. C'est sur ce point que je bloque :/
nb_ligne = Worksheets(2).Range("A65536").End(xlUp).Row
If (nb_ligne) > 40
For i = 1 To 40
'les signets du document Word sont nommés Blank_MP1_panel1 , Blank_MP1_panel2 , Blank_MP1_panel3
With WordDoc.Bookmarks("Blank_MP1_panel" & i).Range
.Text = Worksheets(2).Cells(i, 1) & vbCrLf & vbCrLf & Worksheets(2).Cells(i, 4) & vbCrLf & vbCrLf & Worksheets(2).Cells(i, 5)
.Font.Name = "arial"
.Font.Size = 10
.Font.Bold = True
.Font.Italic = False
.Font.Color = RGB(3, 34, 76)
End With
Next i
WordApp.Visible = False
WordApp.ActiveDocument.PrintOut
Worksheets(2).Rows("1:40").Select
Selection.Delete Shift:=xlUp
Si non ( le nombre de ligne en colonne A du classeur "données" est < 40) alors:
nb_ligne = Worksheets(2).Range("A65536").End(xlUp).Row
If (nb_ligne) < 40
For i = 1 To Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row
'les signets du document Word sont nommés Blank_MP1_panel1 , Blank_MP1_panel2 , Blank_MP1_panel3
With WordDoc.Bookmarks("Blank_MP1_panel" & i).Range
.Text = Worksheets(2).Cells(i, 1) & vbCrLf & vbCrLf & Worksheets(2).Cells(i, 4) & vbCrLf & vbCrLf & Worksheets(2).Cells(i, 5)
.Font.Name = "arial"
.Font.Size = 10
.Font.Bold = True
.Font.Italic = False
.Font.Color = RGB(3, 34, 76)
End With
Next i
WordApp.Visible = False
WordApp.ActiveDocument.PrintOut
Est-ce possible de réaliser une boucle avec tous ces éléments ? Une boucle While? Until... ? Pourriez-vous me conseiller et m'aiguiller s'il vous plait ?
Merci à vous :)
JB
Edit modo : en lien avec le sujet ici https://forum.excel-pratique.com/s/goto/1061935