Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/06/2006, 11h30   #1
Nouveau Membre du Club
 
Avatar de Kyti
 
Inscription : mars 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 182
Points : 29
Points : 29
Par défaut [VBA-W][debutant]Remplir une combo dans un userForm ?

Bonjour,

voilà j'utilise vba sous word et j'ai créé un userform qui contient une liste déroulante.
mais je n'arrive pas à la remplir.

j'ai essayé plusieurs choses, mais chaque fois que j'exécute, la liste reste désespérement vide quand je clique sur la flèche, il ne se passe rien...

j'ai essayé ça entre autre. Pourquoi ça ne marche pas ?

Code :
1
2
3
4
Private Sub UserForm_Initialize()
  listTravaux= Array("", "Réabilitation", "Construction", "Réabilitation et construction")
  typeTravaux.List() = listTravaux
End Sub
Svp je comprends pas, je suis dessus depuis hier et j'ai fait plein de sites. je connais pas du tout VB !

Merci
__________________
Kyti
Kyti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 11h38   #2
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonjour

je te propose 3 posibilités


Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub UserForm_Initialize()
Dim listTravaux()
Dim i As Integer
 
    listTravaux = Array("", "Réabilitation", "Construction", _
    "Réabilitation et construction")
    For i = 1 To 3
    typeTravaux.AddItem listTravaux(i)
    Next i
 
End Sub


Code :
1
2
3
4
5
Private Sub UserForm_Initialize()
  typeTravaux.AddItem "Réabilitation"
  typeTravaux.AddItem "Construction"
  typeTravaux.AddItem "Réabilitation et construction"
End Sub


Code :
1
2
3
4
5
6
7
8
Private Sub UserForm_Initialize()
Dim listTravaux()
 
    listTravaux = Array("", "Réabilitation", "Construction", _
    "Réabilitation et construction")
 
    typeTravaux.List = listTravaux
End Sub

EDITION :
j'ai testé ta macro et elle fonctionne chez moi


bonne journée
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 11h44   #3
Nouveau Membre du Club
 
Avatar de Kyti
 
Inscription : mars 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 182
Points : 29
Points : 29
Merci, mais j'ai toujours le meme problème, je ne comprends pas ce que je ne fais pas bien. Pourquoi la liste reste vide à l'exécution alors qu'il passe bien dans la fonction ?

j'exécute par la flèche bleue de VB editor.

comment je dois faire alors ?

Merci pour le code
__________________
Kyti
Kyti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 11h48   #4
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
rebonjour

tu as bien placé la procédure dans l'UserForm?

et la liste déroulante est bien nommée "typeTravaux" ?



bonne journée
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 12h05   #5
Nouveau Membre du Club
 
Avatar de Kyti
 
Inscription : mars 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 182
Points : 29
Points : 29
j'ai double-cliqué sur le form, et j'ai choisi initialize et j'ai mis mon code là
mais quand je mets un msgBox, ça s'affiche alors pourquoi la liste reste vide ?

pour la liste déroulante, oui le nom est correct puisque j'avais fait un copié-collé pour le récupérer.

est-ce qu'il faut modifier une propriété de la combo ? genre un true à false ou le contraire ?
__________________
Kyti
Kyti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 12h09   #6
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Citation:
quand je mets un msgBox, ça s'affiche
Tu m'intrigues. Tu affiches quoi dans ton msgbox ? Mets ton code.

A tout'

Tu as essayé "msgbox listTravaux(0)" ?
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 12h15   #7
Nouveau Membre du Club
 
Avatar de Kyti
 
Inscription : mars 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 182
Points : 29
Points : 29
Code :
1
2
3
4
5
6
7
8
Private Sub UserForm_Initialize()
  MsgBox ("ici")
  typeTravaux.AddItem ""
  typeTravaux.AddItem "Réabilitation"
  typeTravaux.AddItem "Construction"
  typeTravaux.AddItem "Réabilitation et construction"
  MsgBox ("la")
End Sub
un truc à la con, et ça s'affiche juste avant que le form ne s'affiche.
quand j'avais mis le code avec le tableau qui contenait les valeurs, il affichait aussi les valeurs du tableau...

je croyais donc que le problème venait de mon additem ou addlist, enfin tout ce que j'ai essayé avant de poster...

je viens aussi d'essayer de mettre la fonction dans le module1 et d'appeler le form ensuite, mais ça ne change rien...

j'ai plein de combo et aucune ne se remplit...
par contre, c'est normal que les combo reçoivent le focus quand je démarre mon form ou pas ? je veux dire par là que le focus clignote comme dans une zone de texte mais on ne peut rien entrer
__________________
Kyti
Kyti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 12h20   #8
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Dans les propriétés de tes combo, tu as bien
Code :
typeTravaux.enabled = true
et
Code :
typeTravaux.locked = false
(Je n'ai pas de pb avec le code que tu as mis dans ton 1er message... et Sylky non plus)
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2006, 12h23   #9
Nouveau Membre du Club
 
Avatar de Kyti
 
Inscription : mars 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 182
Points : 29
Points : 29
Citation:
Envoyé par ouskel'n'or
Dans les propriétés de tes combo, tu as bien
Code :
typeTravaux.enabled = true
et
Code :
typeTravaux.locked = false
(Je n'ai pas de pb avec le code que tu as mis dans ton 1er message... et Sylky non plus)
MERCI c'est ça ! toutes mes combo ont le locked à true par défaut !! c'est con quand meme !!!!! j'ai mis à false et ça marche !!!!! c'est normal que ça se mette à true par défaut ? enfin c'est pas grave, le principal était de le savoir

MERCI MERCI MERCI !!!!
__________________
Kyti
Kyti est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h34.


 
 
 
 
Partenaires

Hébergement Web