Choisir dRedéfinir le contenu d'une ListBox

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 !

Webperegrino

XLDnaute Impliqué
Supporter XLD
Bonjour Le Forum,
Je vous soumets la codification suivante. Elle m'empêche l'ouverture de mon UserForm contenant une liste d'éléments.
Je n'arrive pas à trouver la codification efficace.
Je cherche à corriger cela depuis deux jours, en vain.

OBJECTIF :
Je veux extraire d'une liste ceux qui commencent par le contenu d'une cellule Fs.[A13] et reconstituer ainsi une Liste limitée permettant de réaliser un choix plus direct et lisible.

Ma codification :
1 -Voici les codes :

[highlight=vba]
Private Sub UserForm_Initialize()
Dim Lg, n
'Avec la feuille Fs..
With Fs
'Me.ListBox1.Clear '(nécessaire ?)
'On va parcourir la liste de la colonne K jusqu'au bout en feuille Par
Lg = Par.[K250].End(xlUp).Row
'Pour comparer le début des élément avec ce qui est mis en cellule A13
For n = 1 To Lg
With Par.Cells(n, 11)
If Left(Par.Cells(n, 11), Len(Fs.[A13])) = Fs.[A13] Then
'Si identique l'élément enteir de la liste Col K est ajouté dans ListBox1
Me.ListBox1.list.AddItem
End If
End With
Next n
'Fin de la recherche : que doit-on ajouter pour avoir la listBox limitée par rapport à col K
'la consultation de l'Userform ne devrait donner que la liste sélectionnée
'Me.ListBox1.list = Me.ListBox1.list.Value 'je crois que ceci n'est pas bon
End With
End Sub
[/highlight]

2 - D'autre part j'avais vu sur internet qu'il existe une codification plus rapide que la boucle FOR... NEXT que l'on trouve ici. J'ai oublié de le noter dans mes "tablettes Excel Programmation"... je serais preneur du "truc".

Merci à l'avance pour l'aide que vous pourriez m'apporter.
Cordialement à vous,
Webperegrino
 
Le Forum,
Bonjour Bernard-Dranreb,
Merci pour cette réponse rapide.
Je vais essayer de placer la chose dans l'application.

Je viens de découvrir que l'utilisation de List comme ci-dessous est aussi plus rapide que AddItem :

[highlight=vba] Private Sub USerform_Initialize()
Set f= Sheets("Feuil1")
Bd=F.Range("K2K" & F.[K65000].End(xlUp).Row).Value
ville="LORIENT"
n=0
For i=1 To UBound(Bd)
If Bd(1,11)=ville Thenj=j+1
TblDest(j)=Bd(i)
Next i
Me.ListBox1.List=TblDest
End Sub [/highlight]
Cordialement,
Webperegrino
 
- 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
594
Réponses
1
Affichages
668
Réponses
3
Affichages
759
Retour