Liste déroulante erreur « Set mondico =»

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 !

hemardjean

XLDnaute Occasionnel
Bonjour le forum

Après copie des codes sur le très bon site BOISGONTIER je me trouve avec une erreur sur la ligne Set mondico = CreateObject("Scripting.Dictiona.
L’ UserForm4 ne s’ouvre pas et elle serait placée en colonne H.

Dans mon dossier j’ai déjà une BD une nommée BD et la 2eme BDEX.

Pourriez-vous m’aider à corriger cet erreur merci.

Voici les codes

Private Sub UserForm_Initialize()
Set f = Sheets("BDEX")
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In f.Range("b2:b" & f.[B65000].End(xlUp).Row)
mondico(c.Value) = ""
Next c
Me.ComboBox1.AddItem "(tous)"
For Each c In mondico.keys
Me.ComboBox1.AddItem c
Next c
Me.ComboBox1.ListIndex = 0
End Sub
Private Sub ComboBox1_Change()
Me.ComboBox2.Clear
For Each c In f.Range("a2:a" & f.[a65000].End(xlUp).Row)
If c.Offset(0, 1) = Me.ComboBox1 Or Me.ComboBox1 = "(tous)" Then
Me.ComboBox2.AddItem c
End If
Next c
End Sub
Private Sub ComboBox2_Change()
ActiveCell = Me.ComboBox2
Unload Me
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([H6:H80], Target) Is Nothing And Target.Count = 1 Then
UserForm4.Show
End If
End Sub
Sub affichForm()
UserForm4.Show
End Sub

je vous joins le fichier pour plus de compréhension .

Merci
Cordialement
A+ hemardjean
 

Pièces jointes

Re : Liste déroulante erreur « Set mondico =»

Bonjour hemardjean le forum
bon alors tu veux récupérer quoi avec le dico ????
car avec ci-dessous cela ne marche pas c'est normal
Code:
For Each c In f.Range("b2:b" & f.[B65000].End(xlUp).Row)
     mondico(c.Value) = ""
   Next c
Alors expliques ce que tu veux récupérer et on va te modifier cela
a+
papou😱
 
Re : Liste déroulante erreur « Set mondico =»

Bonjour papou et le forum

Merci de ton aide.

L’ UserForm4 s’ouvrirait avec un double clic dans les cellules de la colonne H6 a H80 et récupérerait les infos dans l’onglet BDEX, les listes des colonnes A puis B pour s’afficher dans la cellule choisie.

merci Cordialement
A+ hemardjean
 
Re : Liste déroulante erreur « Set mondico =»

Bonjour papou et le forum

Merci c’est tout à fait ce que je cherchais j’ai juste inter changé les colonnes de la BD.
Peut tu me dire ce que tu as changé car je vais l’utiliser dans un autre dossier mais pas dans les même colonnes.

Cordialement
A+ hemardjean
 
Re : Liste déroulante erreur « Set mondico =»

Re Hemardjean le forum
alors maintenant que tu dis que cela convient pourquoi deux combobox?? puisque ce que tu retournes c'est systématiquement
la colonne adjacente? un seul combo avec deux colonnes serait encore plus simple
pour ce que j'ai changé, reprend le fichier de départ et recopie la macro que tu avais envoyé et tu compares, car si je t'expliques tu auras plus de mal à comprendre, alors que si tu lis la macro de départ et ce que j'ai modifié tu verras tes petites erreurs
a+
papou😱
 
Re : Liste déroulante erreur « Set mondico =»

Bonjour, Re Pascal😀,
simplement pour signaler que l'erreur de compilation affichée n'est pas due au Dictionnaire mais au fait qu'il te manque 2 références. Il te suffit d'aller dans Outils=>Référence et de décocher les 2 références manquantes=>Ok pour que ton USF s'affiche.
La partie
For Each c...
mondico(c.Value) = ""
Next c
ne pose à mon avis pas de problème en soit.
Après, je n'ai pas regardé plus loin et ne sais donc pas si l'utilisation du dico et la structure du code conviennent à ta demande.
A+
 
Re : Liste déroulante erreur « Set mondico =»

Bonjour papou david84 et le forum

Merci à vous deux.
Papou les 2 UserForm sont plus faciles pour le choix et c’est vrai j’aurai du penser à comparer les 2 codes.
David84 je découvre autre chose avec le menu outil.
Je progresse doucement avec tous vos conseils, que serai-je sans vous et le forum .
Encore merci

Cordialement
A+ hemardjean
 
Re : Liste déroulante erreur « Set mondico =»

Re Hemardjean David84😱le forum
David si le but recherché est de faire une liste sans doublon, ce qui est le cas ici, je ne vois pas trop comment le code du dico actuel peut marcher???
a+
Papou😱
 
Re : Liste déroulante erreur « Set mondico =»

Re Pascal🙂,
j'avais bien précisé
La partie
For Each c...
mondico(c.Value) = ""
Next c
ne pose à mon avis pas de problème en soit.
Après, je n'ai pas regardé plus loin et ne sais donc pas si l'utilisation du dico et la structure du code conviennent à ta demande.

Donc, concernant l'initialisation du Combo, je voulais juste préciser que la syntaxe
For Each c...
mondico(c.Value) = ""
Next c
ne me semblait pas poser de problème :

Code:
Private Sub UserForm_Initialize()
Dim mondico As Object, c As Range
   Set f = Sheets("BDEX")
   Set mondico = CreateObject("Scripting.Dictionary")
   For Each c In f.Range("b2:b" & f.[B65000].End(xlUp).Row)
        mondico(c.Value) = ""
   Next c
   Me.ComboBox1.List = mondico.keys
   Me.ComboBox1.ListIndex = 0
End Sub

Ceci-dit, je ne vois pas l'intérêt d'utiliser un dictionnaire dans le fichier exemple puisqu'il ne me semble pas y avoir de doublons dans la plage B2:B75 de la feuille BDEX (mais encore une fois, je ne me suis pas attardé sur le fichier).
A+
 
- 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
10
Affichages
663
Retour