VBA excel effacer des lignes

Juliette -  
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 !!!

A voir également:

2 réponses

gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
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.
0
Juliette
 
Merci de l'astuce mais j'ai encore une erreur sur la ligne Rows(i).delete

erreur 1004 : la methode delete de la classe range a échoué !
0
m@rina Messages postés 27106 Date d'inscription   Statut Contributeur Dernière intervention   11 498
 
Bonjour,

Tu n'aurais pas, par hasard, des cellules fusionnées ?

m@rina
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
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 
0
Juliette
 
Merci pour tous ces conseils, mais le

.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..
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
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 ?
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
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.
0