Merci bien pour vos aimables attentions.
Je vous propose ainsi
- Un classeur Excel nommé "Classeur1" qui contient un tableau avec deux colon
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 ?