Supprimer lignes vides dans Listbox?

Résolu
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012 - 25 oct. 2009 à 00:13
lefuineur Messages postés 14 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 13 septembre 2011 - 13 sept. 2011 à 18:59
Salut à tous....

J'ai un problème à résoudre.

J'ai une Listbox(List5) avec plein d'information et plusieurs lignes vides.

J'aimerais faire un code afin de supprimer l'ensemble des lignes vides et garder que les autres lignes contenants du texte.

Exemple.... List5 :

XXXXXXX
YYYYYYY


ZZZZZ

AAAAAA

Résultat après le traitement

XXXXXXX
YYYYYYY
ZZZZZ
AAAAAA

Avez-vous une idée ?



Merci par avance à tous

27 réponses

sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012
26 oct. 2009 à 13:10
En tout cas merci pour ton aide, j'espère que cela va me donne un résonnement différent à partir de maintenant.


Projet 1
0

merci
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
26 oct. 2009 à 14:00
Ce zéro indique de la manière la plus nette qu'aucun des articles de ta listbox ne contient rien ! et que, donc, tes "lignes vides" n'en sont pas !
Que contiennent-elles ? Des "choses" que tu ne peux voir, soit qu'elles sont constituées d'espaces, soit qu'elles sont constituées de caractères invisibles, soit une "mixture" des deux !
On va tenter (regarde bien ma démarche, qui relève plus de la stratégie que d'autre chose !) d'en isoler une, la première trouvée, par exemple, et de l'analyser pour voir ce qu'elle contient.
Toujours dans l'évènement click de ta textbos et après avoir rempli ta listbox :

Private Sub Command1_Click()
  Dim toto As String, titi As String
  For i = 0 To List5.ListCount - 1
    toto = Trim(List5.List(i))
    If Len(toto) < 4 Then
      For j = 1 To Len(toto)
        titi = titi & vbCrLf & Asc(Mid(toto, j, 1))
        
      Next
     Exit For
   End If
  Next
  MsgBox titi
End Sub


Lance, clique et dis-nous ce qui s'affiche
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
26 oct. 2009 à 14:02
Et le raisonnement n'est pas différent !
Ce sont des données qui le sont
0
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012
26 oct. 2009 à 14:16
Très bien.

Cela m?indique rien du tout juste le MSG box avec le bouton OK. Pas de chiffres pas de lettres.

Projet 1
Bouton OK

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012
26 oct. 2009 à 15:01
Ecoute un grand merci à toi car je l'avoue je n'ai pas tout suivi dans ton résonnement mais voilà en tout cas cela fonctionne à merveilles.

Merci pour ta patience et pour le temps que tu as consacré à mon problème.

Une bonne fin de journée à toi.

J'accepte ta solution !

Une petite question supplémentaire, je pense que tu n'auras aucun problème à y répondre.

Si par exemple dans la même colonne X j'ai des noms comme « BBAA » et je veux également les supprimer en même temps que les « espaces vides » comment dois-je m?y prendre ?

Je sais tout cela est bizarre.


Merci
0
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012
26 oct. 2009 à 15:22
Pour la dernière question ne pas tenir compte car j'ai déjà règle le problème.

Merci.
0
lefuineur Messages postés 14 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 13 septembre 2011
13 sept. 2011 à 18:59
en vb.net:

For x = 0 To ListBox1.Items.Count - 1
If ListBox1.Items(x) = "" Then
ListBox1.Items.Remove(x)
End If
Next x

pour ceux qui savais pas pour les aidez, si j'aurais pas su qu'il existe les fonctions j'aurais étais perdu moi :P
0
Rejoignez-nous