Bonjour,
Dans ce cas, si on ne souhaite pas toucher à droite de la colonne G, j'ai revu votre code, commenté pour que vous compreniez votre erreur. En effet on ne peut définir une Range comme vous le faites. C'est soit .Range("A" & i & ":G" & i) soit la formulation avec les cells que j'ai utilisé dans le code ci-contre :
Sub suppression_des_lignes()
For x = 4 To 7
With Worksheets(x) 'Avec la feuille placée à la position X
For I = .Cells(.Rows.Count, 7).End(xlUp).Row To 2 Step -1 'De la dernière ligne de la colonne G à la ligne 2
If .Cells(I, 1) = "Vrai" Then .Range(.Cells(I, 1), .Cells(I, 7)).Delete xlUp 'Si la cellule ligne L colonne 1 = VRAI alors supprime la plage A:G de la ligne L en remontant les données vers le gaut
Next I 'Ligne précédente
End With
Next x
End Sub
Cdlt,
PS : Après test pas besoin d'activer la feuille pour supprimer les lignes. Ca permet d’accélérer l’exécution du code.
Edit : On pourrait aussi utiliser la méthode resize de l'objet .cells à la place du Range c'est à dire .Cells(I, 1).Resize(1, 8)