VBA excel effacer des lignes
Juliette
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 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 !!!
A voir également:
- VBA excel effacer des lignes
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Partager des photos en ligne - Guide
- Excel compter cellule couleur sans vba - Guide
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.
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.
erreur 1004 : la methode delete de la classe range a échoué !
Tu n'aurais pas, par hasard, des cellules fusionnées ?
m@rina
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.rows(i).delete pause le même problème.
.rows(i).delete = delete fonctionne mais vide les lignes mais ne les supprime pas complètement..
Tu me surprend car clearcontents supprime les valeurs mais delete efface bien la ligne.
Je ne vois pas le phénomène ?
Qu'elle version utilises-tu ? excel 2000 ?