Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

alfazoulou

XLDnaute Occasionnel
bonjour à toutes et tous.
j'ai une liste de données dans la plage nommée "toto", qui se remplie par l'intermédiaire d'un userform en respectant une ligne vide entre chaque donnée.
Ma question:
Je sais supprimer certaines de ces données :

For Each Cell In Range("toto")
If Cell.Value = ComboBox1.Value Then
Cell.Value = ""
End If
Next

mais le problème c'est que je me retrouve avec plusieurs lignes vides qui les séparent.
je voudrais en quelque sorte remonter les données du dessous jusqu'à la ligne l+2 de la dernière ligne saisie dans ma plage.
je me doute que le sujet a été traité dans d'autres fils mais je n'ai pas trouvé.


merci d'avance.
 
Re : trier une liste

Re

Toutes mes excuses

teste ceci

Code:
For Each Cell In Range("toto")
If Cell.Value = Combobox1 Then
 nocell = Cell.Row
 For n = 1 To 2
   Rows(nocell).Delete
 Next n
End If
Next

Edit : Salut Pierrot 🙂
Ah! mon (for n) , il faudra que je pense a autre chose !!!
 
Dernière édition:
Re : trier une liste

merci à tout les deux mais j'ai encore des erreurs sur les deux codes
sur Rows(cell.Row & ":" & cell.Row + 1).Delete
et sur
Rows(nocell).Delete
j'ai peur que ce soit une défaillance de mon fichier je vais donc tester vos solutions sur un autre.
 
Re : trier une liste

je confirme.
je doit avoir un problème avec excel ou mon ordi, en fait cela fait plusieurs jours que j'ai des soucis de ce genre.
Là j'arrive en me déplacer dans les onglets, à lancer les macros etc...
mais impossible de sélectionner les cellules, sauf par un double clic...
bizarre non ? je vais redémarrer mon ordi.
@+
 
Re : trier une liste

apparemment la soluce de pierrejean contient encore une erreur.
celle de Pierrot 93 semble fonctionner.
j'ai fait un petit fichier ci joint ou j'ai mis les deux versions mais après un premier essai de chacune d'entre elles plus rien ne fonctionne.
dites moi ce quil en est chez vous SVP
et merci encore.
 

Pièces jointes

Re : trier une liste

Re,

pas top l'utilisation de la propriété "rowsource" pour alimenter ta combo, préférer l'alimentation ci dessous, te permet en outre, si tu le veux d'écarter les cellules vides :

Code:
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To Range("A65536").End(xlUp).Row
    If Range("A" & i).Value <> "" Then ComboBox1.AddItem Range("A" & i).Value
Next i
End Sub

bon, sachant que l'on "delete" des cellules, il est préférable de commencer par la fin... d'autre part je suppose que tu risques de retrouver plusieurs valeurs identiques dans ta colonne, sinon nous aurions pu utiliser la méthode "find", peut être plus adéquate... a voir

Code:
Private Sub CommandButton2_Click()
Dim i As Integer
For i = Range("A65536").End(xlUp).Row To 1 Step -1
    If Range("A" & i).Value = Val(ComboBox1) Then
       Rows(i & ":" & i + 1).Delete
    End If
Next i
End Sub

bonne soirée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
994
Retour