VBA excel effacer des lignes
Juliette
-
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous le monde !!!
Je voudrais éliminer à la pression d'un commandbutton les lignes dont la cellule de la colonne c n'est pas égale à la valeur d'une combo. Ce code ne marche pas, il echoue à la ligne Rows(i).delete...
Quelqu'un a-t-il une idée ?
Dim derligne As Integer
Dim i As Integer
derligne = Sheets("Situation débiteur cédé").Range("C65000").End(xlUp).Row
For i = 2 To derligne
If Cells(i, 3) <> ComboBox1.Value Then
Rows(i).Delete
ComboBox2.Locked = False
End If
Next i
Merci beaucoup à tous ceux qui tenteront de m'aider !!!
Je voudrais éliminer à la pression d'un commandbutton les lignes dont la cellule de la colonne c n'est pas égale à la valeur d'une combo. Ce code ne marche pas, il echoue à la ligne Rows(i).delete...
Quelqu'un a-t-il une idée ?
Dim derligne As Integer
Dim i As Integer
derligne = Sheets("Situation débiteur cédé").Range("C65000").End(xlUp).Row
For i = 2 To derligne
If Cells(i, 3) <> ComboBox1.Value Then
Rows(i).Delete
ComboBox2.Locked = False
End If
Next i
Merci beaucoup à tous ceux qui tenteront de m'aider !!!
2 réponses
-
bonjour
Essaies en mettant :
For i = derligne To 2 step -1
Ainsi tu supprimes en remontant et la suppression des lignes ne perturbe pas ton index.
-
-
-
Bonjour,
Dim i As Integer est aussi incorrect car tu ne peux pas aller jusqu'à 65000.
Dim i As Long le permet.
Essaies de bien adresser toutes tes références à ta feuille ainsi :Dim derligne As Long Dim i As Long With Sheets("Situation débiteur cédé") derligne = .Range("C65000").End(xlUp).Row For i = derligne To 2 step -1 If .Cells(i, 3) <> ComboBox1.Value Then .Rows(i).Delete ComboBox2.Locked = False End If Next i End With -
-
-
-
bonjour
Je viens de tester le code sur une version 2000.
Effectivement la remarque de m@rina, que je salue, était judicieuse comme toujours, mais même avec des cellules fusionnées, j'ai bien supprimé les lignes.