1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Sub maj_nomenclature()
Dim i As Integer
Dim nb_ligne As Integer
For feuille = 2 To Sheets.Count 'Boucle For sur la feuille Machine 1 puis machine 2
Sheets(feuille).Activate
nb_ligne = WorksheetFunction.CountA(Range("C:C")) 'Pour connaitre le nombre de lignes sur lesquelles faire l'opération
For i = 2 To nb_ligne
If Cells(i, 2) <> "" Then 'Test si la cellule voisine à la nomenclature est vide ou non (c'est le cas si on ajoute un nouvel élément)
Cells(i, 3).Copy 'Si cellule voisine non vide (pas de nouvel élément), copier l'élément de nomenclature dans la feuille "Nomenclature usine"
Sheets("Nomenclature usine").Activate
Cells(i, 3).Select
ActiveSheet.Paste
Else 'Cas où un nouvel élément de nomenclature a été ajouté
Cells(i, 2).Select
ActiveCell.Value = "x" 'ajout de "x" dans la cellule voisine pour éviter de refaire cette opération la prochaine fois que la macro sera lancée
Cells(i, 3).Copy 'Copie de la nomenclature du nouvel élément
Sheets("Nomenclature usine").Activate 'Sélection de la feuille "Nomenclature usine" et création d'une nouvelle ligne pour y coller la nomenclature du nouvel élément
Rows(i, i).Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlUp, CopyOrigin:=xlFormatFromLeftOrBelow
Cells(i + 1, 3).Paste
End If
Next i 'Passage à la ligne suivante
Next feuille 'Passage à la feuille suivante
End Sub |
Partager