pb liste déroulante sous VBA Word

  • Auteur de la discussion traksmen
  • Date de début

traksmen

Nouveau membre
Je souhaiterais à l'aide d'une liste déroulante afficher les information qui sont contenus dans un fichier texte en .txt qui est en constante évolution. merci à ceux qui me répondront
 

yoconono

Grand Maître
considérant que ta liste s'appele liste1 :

Code:
Sub truc()

Dim myRef
Dim myStr
' ouvre le fichier de données !
Open "c:\test.txt" For Input As #1
' vide le controle de liste
ActiveDocument.FormFields.Item("liste1").DropDown.ListEntries.Clear
While Not EOF(1)
    Input #1, myStr
' ajout de myStr à liste1
ActiveDocument.FormFields.Item("liste1").DropDown.ListEntries.Add (CStr(myStr))
Wend
' ferme le fichier
Close #1
End Sub
 

traksmen

Nouveau membre
je souhaiterais synchroniser la deuxieme liste en fonction de la premiere liste en VBA WORD svp merci. ceci est la structure des listes non synchroniser :

Code :

Sub truc()

Dim myRef
Dim myStr
' ouvre le fichier de données !
Open "c:\test.txt" For Input As #1
' vide le controle de liste
ActiveDocument.FormFields.Item("liste1").DropDown.ListEntries.Clear
While Not EOF(1)
Input #1, myStr
' ajout de myStr à liste1
ActiveDocument.FormFields.Item("liste1").DropDown.ListEntries.Add (CStr(myStr))
Wend
' ferme le fichier
Close #1
End Sub

Sub truc2()

Dim myRef
Dim myStr
' ouvre le fichier de données !
Open "c:\test.txt" For Input As #1
' vide le controle de liste
ActiveDocument.FormFields.Item("liste2").DropDown.ListEntries.Clear
While Not EOF(1)
Input #1, myStr
' ajout de myStr à liste2
ActiveDocument.FormFields.Item("liste2").DropDown.ListEntries.Add (CStr(myStr))
Wend
' ferme le fichier
Close #1
End Sub
 

yoconono

Grand Maître


1- Ya pas de quoi

2- si liste1=liste2 tu devrais pouvoir faire un truc du style :


solution sympa poour les perfs mais je sais pas si VBA accepte :
Code:
sub truc()
Dim myRef  
Dim myStr  
' ouvre le fichier de données !  
Open "c:\test.txt" For Input As #1  
' vide le controle de liste  
ActiveDocument.FormFields.Item("liste1").DropDown.ListEntries.Clear  
While Not EOF(1)  
    Input #1, myStr  
' ajout de myStr à liste1  
ActiveDocument.FormFields.Item("liste1").DropDown.ListEntries.Add (CStr(myStr))  
Wend  
' ferme le fichier  
Close #1
' met à jour liste2  
ActiveDocument.FormFields.Item("liste2").DropDown.ListEntries=ActiveDocument.FormFields.Item("liste1").DropDown.ListEntries
End Sub


solution bourrin
Code:
sub truc()
Dim myRef  
Dim myStr  
' ouvre le fichier de données !  
Open "c:\test.txt" For Input As #1  
' vide le controle de liste  
ActiveDocument.FormFields.Item("liste1").DropDown.ListEntries.Clear  
While Not EOF(1)  
    Input #1, myStr  
' ajout de myStr à liste1  
ActiveDocument.FormFields.Item("liste1").DropDown.ListEntries.Add (CStr(myStr)) 
' ajout de myStr à liste2
ActiveDocument.FormFields.Item("liste2").DropDown.ListEntries.Add (CStr(myStr)) 
Wend  
' ferme le fichier  
Close #1
' met à jour liste2  
ActiveDocument.FormFields.Item("liste2").DropDown.ListEntries=ActiveDocument.FormFields.Item("liste1").DropDown.ListEntries
End Sub
 

fred014

Habitué
bonjour moi j ai à peu prés le même pb
je vous explique
j ai créé une form avec 4 listes deroulantes
1 nom
2 premon
3 n ° telephone
4 adresse
le tous relier a des champs dans le document word.
lorsque que l utilisateur ouvre le document l userform s ouvre et il va chercher son nom puis le reste.
donc ma question est
est ce qu il existe un code pour que lorsque l utilisateur trouve son nom dans la premiere liste deroulante les autres listes se mettent a jour en fonction du nom de la personne entre autre prenom, n° telephone, adresse.

merci d avance
 

zeb

Modérateur
Tu n'amènes rien à ce topic, laisse-le mourir en paix.

Tu as un problème, à peu près le même que quelqu'un d'autre, alors soit tu t'inspires de la solution donnée, soit ce n'est pas assez et tu es tout à fait en droit de créer ton propre topik à toi ;)

C'est facile, clique sur ce beau bouton :
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 068
Membres
1 586 394
Dernier membre
Manoushk
Partager cette page
Haut