Additem listbox en multicolonnes
Résolu
GrandJean
-
GrandJean -
GrandJean -
Bonjour,
Je cherche à alimenter une Listbox 2 colonnes à partir d'une recherche par lettre dans une plage de données (ville et code postal). Le nom d'une ville pouvant avoir plusieurs codes postaux, je veux pouvoir sélectionner la bonne ville, d'où l'affichage du code postal. J'arrive à afficher l'info si je n'ai qu'une colonne, pas avec 2. J'ai effectué des tas de tests, avec column aussi. J'arrive à afficher les deux infos dans une colonne si je fais Me.Texte_4.AddItem c.Offset(1, 0) & " " & c.Offset(1, -1), mais cela ne m'arrange pas car je ne veux récupérer qu'une des deux valeurs, le nom de la ville.
Je tourne en rond, étant persuadé que la solution est très simple. J'apprécierai votre aide pour avancer. D'avance, merci.
Voici mon code :
dim plage
With Sheets("Tables")
finVille = .Cells(Rows.count, "E").End(xlUp).Row
Set plage = .Range(.Cells(10, "E"), .Cells(finVille + 1, "E"))
For Each c In plage
If UCase(c) Like UCase(Me.TB_Lettres) & "*" Then Me.Texte_4.AddItem
Me.Texte_4.List(, 0) = c.Offset(1, 0)
Me.Texte_4.List(, 1) = c.Offset(1, -1)
Next c
End With
End If
Je cherche à alimenter une Listbox 2 colonnes à partir d'une recherche par lettre dans une plage de données (ville et code postal). Le nom d'une ville pouvant avoir plusieurs codes postaux, je veux pouvoir sélectionner la bonne ville, d'où l'affichage du code postal. J'arrive à afficher l'info si je n'ai qu'une colonne, pas avec 2. J'ai effectué des tas de tests, avec column aussi. J'arrive à afficher les deux infos dans une colonne si je fais Me.Texte_4.AddItem c.Offset(1, 0) & " " & c.Offset(1, -1), mais cela ne m'arrange pas car je ne veux récupérer qu'une des deux valeurs, le nom de la ville.
Je tourne en rond, étant persuadé que la solution est très simple. J'apprécierai votre aide pour avancer. D'avance, merci.
Voici mon code :
dim plage
With Sheets("Tables")
finVille = .Cells(Rows.count, "E").End(xlUp).Row
Set plage = .Range(.Cells(10, "E"), .Cells(finVille + 1, "E"))
For Each c In plage
If UCase(c) Like UCase(Me.TB_Lettres) & "*" Then Me.Texte_4.AddItem
Me.Texte_4.List(, 0) = c.Offset(1, 0)
Me.Texte_4.List(, 1) = c.Offset(1, -1)
Next c
End With
End If
A voir également:
- Vba listbox additem plusieurs colonnes
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Comment faire des colonnes sur word - Guide
- Inverser deux colonnes excel - Guide
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Incompatibilité de type vba ✓ - Forum Programmation
4 réponses
Bonjour,
C'est, en effet, un peu plus compliqué que cela.
Je te recommande d'aller voir ce tuto :
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G
C'est, en effet, un peu plus compliqué que cela.
Je te recommande d'aller voir ce tuto :
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G