Bonjour à tous,
J'ai rédigé une macro pour qu'en fonction du nombre inscrit dans la colonne BL un certain nombre de ligne soit ajouté
En plus de recopier les valeurs des premières colonnes, j'aimerai que la macro ajoute des valeurs dans la colonne O. Si jamais j'ajoute pas de ligne, il met M dans la colonne si jamais j'aoute une ligne, il met M dans la première et L dans la deuxième. J'ai essayé ca que j'ai mis juste avant le "end if " de la macro précédente:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub insererLig() Dim lig As Long Application.ScreenUpdating = False For lig = Cells(Rows.Count, 5).End(xlUp).Row To 2 Step -1 If Cells(lig, "BL") > 0 Then Rows(lig + 1).Resize(Cells(lig, "BL")).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Cells(lig + 1, 1).Resize(Cells(lig, "BL"), 1) = Cells(lig, "A") Cells(lig + 1, 2).Resize(Cells(lig, "BL"), 1) = Cells(lig, "B") Cells(lig + 1, 3).Resize(Cells(lig, "BL"), 1) = Cells(lig, "C") Cells(lig + 1, 4).Resize(Cells(lig, "BL"), 1) = Cells(lig, "D") End If Next lig Application.ScreenUpdating = True End Sub
Mais quand je lance la macro, il me dit qu'il y a un if sans for et que du coup ca ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If Cells(lig, "BL") = 1 Then Cells(lig + 1, 15).Resize(Cells(lig, "BL"), 1) = "L" Cells(lig, 15).Resize(Cells(lig, "BL"), 1) = "M" If Cells(lig, "BL") = 0 Then Cells(lig, 15).Resize(Cells(lig, "BL"), 1) = "M"
Je ne comprends pas puisque mon code commence par définir le for.
Pouvez-vous me venir en aide?
Merci beaucoup
Partager