Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supprimer des lignes d'une ListBox

Pierre31

XLDnaute Junior
Bonjour à toutes et tous,

Je sèche depuis plusieurs jours sur un problème dont la solution est peut être évidente. Pour ma part plus ca va moins ca va.

Dans un UserForm j'ai une listeBox de 2 colonnes qui s'affiche avec les données de ma feuille "Data".
Pour plus de lisibilité j'ai parfois besoin à l'aide d'un bouton de commande de supprimer de ma ListBox les lignes pour lesquelles dans la colonne 2 apparait le texte "Sans".
J'ai essayé à partir d'exemples trouvés sur internet à arriver à mes fins mais je ne m'en sort pas.

D'avance merci pour celle ou celui qui pourra m'aider.

Cordialement

Pierre
 

job75

XLDnaute Barbatruc
Re : Supprimer des lignes d'une ListBox

Bonjour Pierre31,

Un fichier n'aurait pas été de trop

Enfin voyez celui-ci avec ces macros dans le code de l'USF :

Code:
Private Sub CommandButton1_Click()
Dim i As Integer
With ListBox1
  For i = .ListCount - 1 To 0 Step -1
    If .List(i, 1) = "Sans" Then .RemoveItem i
  Next
End With
End Sub

Private Sub UserForm_Initialize()
ListBox1.List = Range("A1:B6").Value
End Sub

A+
 

Pièces jointes

  • ListBox(1).xls
    34 KB · Affichages: 70
  • ListBox(1).xls
    34 KB · Affichages: 77
  • ListBox(1).xls
    34 KB · Affichages: 77

bqtr

XLDnaute Accro
Re : Supprimer des lignes d'une ListBox

Bonjour Pierre , Job75

Une petite variante au cas où le mot "Sans" serait contenu dans un texte :
Code:
Private Sub CommandButton1_Click()
Dim k As Integer
For k = ListBox1.ListCount - 1 To 0 Step -1
  If ListBox1.Column(1, k) Like "*Sans*" Then
    ListBox1.RemoveItem k
  End If
Next
End Sub

Bonne après-midi
A+
 

job75

XLDnaute Barbatruc
Re : Supprimer des lignes d'une ListBox

Bonjour bqtr,

J'irais même plus loin :

Code:
Private Sub CommandButton1_Click()
Dim k As Integer
For k = ListBox1.ListCount - 1 To 0 Step -1
  If [COLOR="Red"]LCase[/COLOR](ListBox1.List(k, 1)) Like "*sans*" Then
    ListBox1.RemoveItem k
  End If
Next
End Sub

Ainsi pas de problème de majuscules/minuscules

A+
 
Dernière édition:

jeanpierre

Nous a quitté
Repose en paix
Re : Re: Supprimer des lignes d'une ListBox

Salut job, bqtr, Pierre31,

Ben alors, avec NB.SI, on trouve bien 3, non....?

job75, bqtr, job75....

Pour vous souhaiter un bon après-midi.

Jean-Pierre
 

Discussions similaires

Réponses
21
Affichages
1 K
Réponses
8
Affichages
335
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…