Private Sub Userform_Initialize

Bonjour,

J'ai crée un combobox qui doit afficher une liste valeur reprises sur une feuille Excel. J'ai vu sur internet qu'il fallait écrire Private Sub Userform_Initialize(), et écrire la liste. Or mon userform ne s'appelle pas juste "Userform" mais un autre nom. J'ai naturellement essayé d'adapter cette formule en écrivant le nom de mon userform, mais ça ne charge pas ma liste si je le fait ( mais ça ne plante pas )

Et si je ne le fait pas, et garde cette formule tel qu'elle, ça charge bien la liste, mais lorsque je veux afficher mon userform (appelons le "monuserform"), lorsque je clique sur un bouton sur ma feuille excel, associé à une procédure : monuserform.show, ben ça plante en m'écrivant l'indice n'appartient pas à la selection.

Voila donc connaissez vous comment je peux faire pour initialiser ma liste de combobox sans planter, merci

Bonjour,

Puisque tu n'as pas joint de fichier ... la suggestion sera générique

et tu devras l'adapter à ta situation ...

Private Sub UserForm_Initialize()
Dim i As Long
    For i = 2 To 12
         NomdetaUserForm.NomdetaComboBox.AddItem Range("G" & i ).Value
    Next i
End Sub

En espèrant que cela t'aide

Est-ce que je dois changer le nom Private Sub UserForm_Initialize() en Private Sub Monuserform_Initialize() ?

Moi j'ai utilisé ce code ci, mais ça plante en disant que l'indice n'appartient pas à la selection ( mais ça charge bien la liste ) :

 Private Sub UserForm_Initialize()
ComboBox_nomcombobox.List = Worksheets("feuille information").Range("g2:g12").Value
end sub

ci dessus ça charge bien la liste, mais ça plante

 Private Sub monuserform_Initialize()
ComboBox_nomcombobox.List = Worksheets("feuille information").Range("g2:g12").Value
end sub

ici ça ne plante pas, mais ça ne charge pas la liste non plus.

Re,

Etonnant qu'après avoir demandé un conseil ...

tu n'en tiennes pas du tout compte ...

Je ne peux pas joindre de fichier, c'est un fichier d'entreprise ....

Je ne peux pas joindre de fichier, c'est un fichier d'entreprise ....

Re,

Il ne me semble pas t'avoir demandé de le faire ... !!!

As-tu adapté , en utilisant Tes Noms ...( et donc testé...) la macro postée dans le message # 2 ..???

ça fonctionne, mais la liste est vide, car tu n'a pas indiqué la feuille, j'ai rajouté ma feuille en faisant :

Private Sub UserForm_Initialize()
Dim i As Long
    For i = 2 To 12
         NomdetaUserForm.NomdetaComboBox.AddItem worksheets("nomdemafeuille").Range("G" & i ).Value
    Next i
End Sub

Mais ça ne fonctionne plus ( indice n'appartient pas à la selection )

Bonjour,

une autre méthode pour les listes combobox.

Tu donnes un nom sur la feuille à ta plage (G2:G12) exemple "maplage"

Ensuite dans la propriété du combobox tu as une ligne Rowsource ou tu indique aussi "maplage"

et Hop… plus besoin d'info dans le userform initialise

Nota si tu penses avoir besoin d'ajouter des éléments à ta liste plus tard ; alors je te conseilles de prévoir une

plage plus grande (G2:G25) avant d'indiquer le nom.

Rechercher des sujets similaires à "private sub userform initialize"