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

code d'HERVE "VBA - Mystère sur dictionary" dans Listbox

  • Initiateur de la discussion Initiateur de la discussion ericTA
  • Date de début Date de début

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 !

ericTA

XLDnaute Occasionnel
Bonjour à tous,
Je rebondis sur le code d'HERVE "VBA - Mystère sur dictionary" et j'aimerai si c'est possible que le résultat remplisse non pas une colonne mais une Listbox trié par ordre alphabétique. Cela me permettra de pouvoir sélectionner seulement certains éléments.
Mais j'avoue ne pas trop comprendre le code donc….


Public Sub toto()
Dim data
Dim tablo, i As Integer

Set data = CreateObject("Scripting.Dictionary")

tablo = Range("a2:a" & Range("a65536").End(xlUp).Row)

For i = 1 To UBound(tablo)
data.Item(tablo(i, 1)) = data.Item(tablo(i, 1))
Next i

Range("G1", Cells(data.Count, "G")) = Application.Transpose(data.Keys)

End Sub


Merci d'avance
Eric
 
Re : code d'HERVE "VBA - Mystère sur dictionary" dans Listbox

Bonjour ericTA et le forum,

Un exemple de code à placer dans le module de l'userform et qui affichera ls valeurs dans la listebox :
Option Explicit
Private Sub UserForm_Initialize()
Dim Tablo, i As Integer

' Définition du tableau
Tablo = Range("A2:A" & Range("A65536").End(xlUp).Row)
' Attribution des valeurs à la liste
For i = 1 To UBound(Tablo)
If Tablo(i, 1) <> "" Then
ListBox1.AddItem Tablo(i, 1)
End If
Next i
End Sub

Cordialement

Bernard
 
Re : code d'HERVE "VBA - Mystère sur dictionary" dans Listbox

Salut Bernard,
ça marche presque sauf :
- La liste est remplie avec tous les champs même les doublons.
- La liste n'est pas triée par ordre alphabétique
Merci
Eric

 
Re : code d'HERVE "VBA - Mystère sur dictionary" dans Listbox

Bonjour ericTA et CBenardT

Merci pour l'infos mais EricTA, si tu mettais un fichier exemple, cela serait profitable pour tout le monde. De plus cela serait plus facile pour t'aider!
 
Re : code d'HERVE "VBA - Mystère sur dictionary" dans Listbox

Re,

Modification afin de régler les deux pb, doublons et ordre croissant de la liste.

Option Explicit
Private Sub UserForm_Initialize()
Dim Tablo, i As Integer, j As Integer, Num As Variant

' Définition du tableau
Tablo = Range("A2:A" & Range("A65536").End(xlUp).Row)
'Elimination des codes en doublons
For i = 1 To UBound(Tablo) - 1
If Tablo(i, 1) <> "" Then
For j = i + 1 To UBound(Tablo)
If Tablo(j, 1) <> "" Then
If Tablo(j, 1) = Tablo(i, 1) Then
Tablo(j, 1) = ""
Else
If Tablo(j, 1) < Tablo(i, 1) Then 'Mise en ordre Croissant
Num = Tablo(i, 1)
Tablo(i, 1) = Tablo(j, 1)
Tablo(j, 1) = Num
End If
End If
End If
Next j
End If
Next i
' Attribution des valeurs à la liste
For i = 1 To UBound(Tablo)
If Tablo(i, 1) <> "" Then
ListBox1.AddItem Tablo(i, 1)
End If
Next i
End Sub

cordialement

Bernard
 
Dernière édition:
Re : code d'HERVE "VBA - Mystère sur dictionary" dans Listbox

Bonjour MJ13,

Merci pour ces encouragements.

Bien que je n'aie plus beaucoup de temps pour m'impliquer autant que je voudrais, c'est toujours un réel plaisir de rendre, dans la mesure de mes moyens, tout ce que ce forum m'a donné et me donne toujours depuis maintenant bien longtemps.

Cordialement

Bernard
 
Re : code d'HERVE "VBA - Mystère sur dictionary" dans Listbox

Je ne sais pas quoi dire à part MERCI et encore MERCI et félicitation pour les 1000 posts.
Heureusement qu'il y a un Forum comme celui-là avec des PROS derrière.

PS: pour le fichier exemple, c'est très difficile car le code fait partie d'un programme de plusieurs Mo donc je m'efforce d'être le plus explicite possible.

Bye
Eric
 
- 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
4
Affichages
733
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
1 K
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
1 K
  • Question Question
Microsoft 365 VBA Transpose
Réponses
11
Affichages
982
Réponses
12
Affichages
754
Réponses
3
Affichages
922
Réponses
33
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…