Code VBA pour application word

Bonjour la brillante famille

J'ai un formulaire Word contenant "une zone de texte" (Controle ActiveX) et "un controle du contenu de zone de liste déroulante" alimenté à partir d'un fichier excel. Puis-je avoir de l'aide sur comment faire pour remplir automatiquement la zone de texte en fonction de ma sélection du controle de contenu de liste déroulante dans ?

NB: j'ai réussi à coder pour alimenter le controle du contenu de zone de liste déroulante mais je galère pour la zone de texte que j'ai insérée.

J'ai choisi cette partie du forum parcequ'il s'agit de MS WORD

Bonjour Romaric,

Joindre un fichier exemple t'apporterait sans doute des réponses adaptées à ta demande.

(En précisant ce qui doit se trouver dans ta zone de texte)

Bonjourn

Une esquisse , si ca peut aider...

@ +

PS: pour le code VBA dans Word, j'utilise souvent ChatGpt 😉

14romaric.zip (30.51 Ko)

Merci bien pour vos aimables attentions.

Je vous propose ainsi

- Un classeur Excel nommé "Classeur1" qui contient un tableau avec deux colon

14classeur1.xlsm (9.90 Ko)
15doc1.docm (28.66 Ko)

nes (Noms et Matricules). J'y ai défini une plage dynamique nommée "l_Noms" pour les données de la colonne des noms.

- Un fichier Word nommé "Doc1" contenant un "contrôle du contenu de zone de liste déroulante" nommé "ListeNoms" etune "zone de texte" (de type Contrôle ActiveX) nommée "txtMatricules"

Mon souhait c'est d'alimenter la zone de texte du document Word selon la sélection de la liste déroulante de façon à attribuer le matricule correspondant (à chaque nom dans la première colonne du tableau, correspond un matricule qui se trouve dans la deuxième colonne du même tableau dans le fichier Excel).

ci-joint, le code qui me permet d'alimenter le contrôle du contenu de zone de liste déroulante (qui marche très bien)

Private Sub Document_Open()

Dim xlApp As Object
Dim Fichier_Excel As String
Dim Nombre_lignes As Long, L As Long

'Emplacement personnalisable selon l'utilisateur
Fichier_Excel = "D:\Classeur1.xlsm"

Set xlApp = GetObject(Fichier_Excel)
Nombre_lignes = xlApp.sheets("Feuil1").Range("l_Noms").Rows.Count

ActiveDocument.SelectContentControlsByTag("ListeNoms")(1).DropdownListEntries.Clear
For L = 1 To Nombre_lignes
    ActiveDocument.SelectContentControlsByTag("ListeNoms")(1).DropdownListEntries.Add xlApp.sheets("Feuil1").Range("l_Noms").Cells(L)

Next

Set xlApp = Nothing

End Sub

Comment m'y prendre pour alimenter la zone de texte ?

Bonjour,

Voici les fichiers pour repondre a tes besoins, j'ai du modifier une plage nommée dans excel

La mise a jour d'effectue des que tu quittes la liste deroulante

@ +

21romaric.zip (34.09 Ko)

merci infiniment @fg2b ça marche à la perfection

Soyez bénis

Rechercher des sujets similaires à "code vba application word"