[wd2010][VBA] problème ComboBox vide

Résolu/Fermé
bj51 - 22 août 2011 à 11:15
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 24 août 2011 à 17:08
Bonjour,

J'ai créé un petit UserForm permettant à l'utilisateur d'entrer des informations pour le document en cours (c'est un modèle de rapport). L'une des information est le type d'étude concerné, qui se compose de deux lettres. J'ai donc créé une ComboBox sur le UserForm afin de permettre le choix du type d'étude. Problème : la ComboBox est vide et ne propose pas les choix énoncés. Le code présent dans l'Initialize du UserForm est le suivant :

Option Explicit
Private Sub doc_props_Initialize()
[...]
'   Type d'étude
With Me.ComboBox_prefixe_n_etude
    .Clear
    .AddItem "BA"
    .AddItem "VI"
    .AddItem "EN"
    .AddItem "LO"
    .AddItem "EA"
    .AddItem "AC"
End With
[...]
End Sub


J'ai vérifié que les noms étaient corrects (du UserForm, de la ComboBox) et je suis dans une impasse.

Cordialement,

6 réponses

J'ai trouvé une solution "bourrine" consistant à créer une Sub pour chaque ComboBox :
Private Sub ComboBox_prefixe_n_etude_Enter()
With ComboBox_prefixe_n_etude
    .Clear
    .AddItem "BA"
    .AddItem "VI"
    .AddItem "EN"
    .AddItem "LO"
    .AddItem "EA"
    .AddItem "AC"
End With
End Sub


Si quelqu'un a une solution pour que ça fonctionne directement dans l'Initialize, je suis preneur.
Cordialement,
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 22/08/2011 à 23:10
Bonsoir,

With Me.ComboBox_prefixe_n_etude
Puisque tu as l'air d'être dans une procédure extérieure le Me. me parait osé.
As-tu essayé en nommant le userform ?

eric

edit : après relecture tu es plutôt dans l'initialize mais teste quand même, ça ne mange pas de pain...
0
J'avais testé sans le Me., même résultat. Je reste sur ma solution qui fonctionne pour le moment, à défaut de mieux.

Cordialement,
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
23 août 2011 à 20:30
Bonsoir,

Je viens de tester et ton code initial marche bien.
Par contre j'ai remarqué que le Private Sub UserForm_Initialize() ne change pas de nom. Quelque soit le nom donné au userform, le sub reste toujours UserForm_Initialize()
Bizarre mais bon, faut admettre...

eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OK, j'ai testé avec UserForm_Initialize(), et maintenant j'ai une erreur d'exécution 5825 : L'objet a été supprimé.
Avant, le UserForm se lançait mais là plus rien. Mon code d'appel est :
Private Sub Document_New()
' Lancement automatique de la userform à chaque nouveau document.
Load doc_props
doc_props.Show
End Sub

ou bien, le même une fois le document ouvert :
Public Sub doc_propsReload()
Load doc_props
doc_props.Show
End Sub


Des idées ?

Cordialement,
0
Problème réglé, j'ai supprimé quelques instructions dans le Sub Userform_Initialize() qui faisaient planter. Tout fonctionne, merci du coup de main :)
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
24 août 2011 à 17:08
ok, je met en résolu alors...
eric
0