Combobox ListIndex "objet requis"
Bonjour,
je fais face à une erreur dont je n'arrive pas à me débarrasser
Sub userform_initialize()
Set wbk2 = Workbooks.Open(ThisWorkbook.Path & "\fichier source.xlsx")
For Each maCellule In Range("A2:R2")
ComboBox1.AddItem maCellule.Value
ComboBox2.AddItem maCellule.Value
ComboBox3.AddItem maCellule.Value
ComboBox4.AddItem maCellule.Value
ComboBox5.AddItem maCellule.Value
ComboBox6.AddItem maCellule.Value
ComboBox7.AddItem maCellule.Value
ComboBox8.AddItem maCellule.Value
ComboBox9.AddItem maCellule.Value
ComboBox10.AddItem maCellule.Value
ComboBox11.AddItem maCellule.Value
ComboBox12.AddItem maCellule.Value
ComboBox13.AddItem maCellule.Value
ComboBox14.AddItem maCellule.Value
ComboBox15.AddItem maCellule.Value
ComboBox16.AddItem maCellule.Value
ComboBox17.AddItem maCellule.Value
ComboBox18.AddItem maCellule.Value
Next maCellule
ComboBox1.ListIndex = ThisWorkbook.Sheets(2).Range("B1").Value
wbk2.Close
End Suble listindex déclenche une erreur "424" objet requis
Merci
Bonjour,
je ne comprend pas ce que vous voulez faire avec
ComboBox1.ListIndex = ThisWorkbook.Sheets(2).Range("B1").ValueListIndex donne l'indice (l'index ?) des éléments contenus dans la combobox. l'index va de 0 à nb d'éléments -1.
Si le contenu de B1 est une valeur numérique entre 0 et le nb d'éléments - 1, ça devrait fonctionner.
Si c'est pour faire afficher la seule valeur (a priori) de la combobox1 , utiliser:
ComboBox1.ListIndex = 0A+
Dans mon cas j'utilise bien cela et ça correspond mais même quand je remplace par 0 ça me retourne l'erreur là
Y a-t-il bien un élément dans la combobox1 ?
Joignez votre classeur avec quelques données anonymisées.
A+
Edit: il y a peut-être des interférences entre le classeur contenant l'userform et le classeur ouvert pour charger les valeurs.
Je suis pas capable d'envoyer le fichier ce soir, je ferai ça demain matin 😁
Merci
Re,
Problème résolu il suffisait de déplacer le listindex après la fermeture du fichier "wbk2".
Merci
quelques questions:
ThisWorkbook.Sheets(2).Range("B1").Value fait bien appel au classeur contenant l'userform ( et non au classeur "fichier source" ?
la plage Range("A2:R2") doit être prise sur le classeur "fichier source" ?
si oui quelle feuille?
un extrait de ce classeur "fichier source" serait utile pour mener quelques tests.
Je regarderai également pour éviter l'ouverture et fermeture de ce classeur à chaque nouvelle sélection dans une des 16 combobox
A+
Edit : pas vu le dernier message. Résolu donc
Re,
Oui c'est ça ->
ThisWorkbook.Sheets(2).Range("B1").Value fait bien appel au classeur contenant l'userform
e regarderai également pour éviter l'ouverture et fermeture de ce classeur à chaque nouvelle sélection dans une des 16 combobox
Effectivement c'était pas fou, mais j'ai corrigé le problème en stockant les données dans un tableau à l'ouverture
Merci à toi d'avoir pris de ton temps pour m'aider.