Bonjour,
Voilà, je débute en VBA et tente mes premières armes avec une macro qui pourrait m'être fort utile dans certaine tâches que je réalise.
L'idée c'est de partir d'un tableau comportant le nom de tous les onglets qu'il faut pouvoir modifier.
La macro doit parcourir la liste de ce tableau pour insérer une ligne dans chaque onglet dont le nom figure dans ce tableau.
Ladite ligne est toujours insérée en bas de liste de données de chaque onglet, avec un format différent en fonction que le numéro de la ligne soit pair ou impair (ça c'est plus gadget qu'autre chose !).
Seulement, VBA stoppe net à la ligne coloriée en jaune.
Et puis au passage si des choses sont à revoir dans le code, je suis preneur
Et il y aura surement beaucoup à redire !
Par avance merci !!
PS je mettrai une PJ un peu plus tard !
Voilà, je débute en VBA et tente mes premières armes avec une macro qui pourrait m'être fort utile dans certaine tâches que je réalise.
L'idée c'est de partir d'un tableau comportant le nom de tous les onglets qu'il faut pouvoir modifier.
La macro doit parcourir la liste de ce tableau pour insérer une ligne dans chaque onglet dont le nom figure dans ce tableau.
Ladite ligne est toujours insérée en bas de liste de données de chaque onglet, avec un format différent en fonction que le numéro de la ligne soit pair ou impair (ça c'est plus gadget qu'autre chose !).
Seulement, VBA stoppe net à la ligne coloriée en jaune.
Code:
Sub Bouton2_QuandClic()
Dim j As Integer
Dim Onglet As Object
Dim Derligne As Object
Dim Noligne As Object
For j = 5 To ThisWorkbook.Worksheets("Suivi").Range("D5").End(xlDown).Row
Set Onglet = ThisWorkbook.Worksheets("Suivi").Range("D" & j)
[COLOR="Yellow"] Set Derligne = ThisWorkbook.Worksheets(Onglet).Range("A65535").End(xlUp)[/COLOR]
ThisWorkbook.Worksheets(Onglet).Range("6:6").Copy
Derligne.Offset(2, 1).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Set Noligne = ThisWorkbook.Worksheets(Onglet).Range("A65535").End(xlUp).Row
Lignepair = Noligne Mod 2
If Lignepair = 0 Then
Derligne.Offset(2, 1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Else
ThisWorkbook.Worksheets(Onglet).Range("7:7").Copy
Derligne.Offset(2, 1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End If
Next j
End Sub
Et puis au passage si des choses sont à revoir dans le code, je suis preneur
Et il y aura surement beaucoup à redire !
Par avance merci !!
PS je mettrai une PJ un peu plus tard !
Pièces jointes
Dernière édition: