Bonsoir à tous, Salut Creepy et Jean-Marie.
Moi quelque chose me choque: c'est ta boucle For Ligne =... to..., alors que Ligne est une variable Range
Alors je suis allé voir dans l'aide à la rubrique For...Next, où est écrit ceci:
For counter = start To end [Step step]
[statements]
[Exit For]
[statements]
Next [counter]
L'aide précise:
counter: Variable numérique utilisée comme un compteur de boucles. Cette variable ne peut être ni une variable de type Boolean, ni un élément de tableau.
Donc ce qui me choque, c'est que ta procédure fonctionne sous excel97!!!
Voici comment je l'écrirais:
Dim ligne As integer
For ligne = 4 To Range("a4").End(xlDown).Row
If Range("C:" & Ligne).Value = 0 And Range("D:" & Ligne).Value = 0 And Range("E:" & Ligne).Value = 0 _
And Range("F:" & Ligne).Value = 0 And Range("G:" & Ligne).Value = 0 And Range("H:" & L1LigneValue = 0 Then
Rows(Ligne & ":" & Ligne).Select
Selection.Delete Shift:=xlUp
End If
Next Ligne
Où si tu veux vraiment faire une boucle sur des ranges, j'utiliserais:
For each Ligne in Range("A4:4"&l2) en conservant le reste de ta macro.
Mais peut-être ai-je tort, et il est peut-être possible de faire des boucles For i=... to ... sur des objets range?
Tout avis m'intéresse!
Bonne soirée à tous.
Laurent.