Bonjour à tous,
Dan , Moa et Fred, au lieu de balayer toutes les cellules , on peut utiliser la la fonction EQUIV, MATCH en anglais comme suit, cela permet sérieusement d'accélerer le code car on récupére le N° de ligne:
Sub SupLignes()
Dim Res As Integer
1
On Error GoTo Sortie
Res = WorksheetFunction.Match("X", Range("H2:H32767"), 0)
Rows(Res).Delete
GoTo 1
Sortie:
End Sub
Pour " Comment ça se passe si j'ai pls valeurs pour lesquelles je dois supprimer la ligne ? Utilise-t-on "OR" ?"=> Oui
Pour le offset c'est pour se déplacer d'une cellule à l'autre sans etre oblligé de la selectionner, mais il faut une range pour commencer: [B2].offset(-1,-1).select => [A1].select, avec activecell on se déplace ligne par ligne dans la boucle
On peut écrire ici ActiveCell.Offset(1, 0).Select au lieu de ActiveCell.Offset(1, 0).Range("A1").Select car H2 est sélectionnée au départ...
A+++