user_mobilelogo

Word 365: Vous saurez tout !

Pour tout connaître sur Word
Nouvelle version !

600 pages !

9,80 € 

 

En savoir plus.

Avec une macro bien entendu !

Insérez dans le document un contrôle de contenu Liste déroulante (modifiable ou non selon votre choix) et donnez-lui un nom pour la balise. 

Ensuite copiez la macro ci-dessous et collez-la dans ThisDocument.

Modifiez les noms en fonction de vos éléments  :

Éléments

Dans mon exemple, à modifier éventuellement

Nom de la balise "Noms"
Nom du fichier Excel "mon_classeur.xlsx"
Nom du dossier du fichier Excel par défaut dans le même dossier que le fichier Word
Dans le cas inverse, modifier "ActiveDocument.Path"
et mettre le chemin de votre dossier 
Nom de la feuille Excel où se trouvent les données "Feuil1"
Colonne où se trouvent les données Colonne A, à partir de la cellule A2 jusqu'à la dernière


Private Sub Document_ContentControlOnEnter(ByVal ContentControl As ContentControl)

'le fichier Xlsx doit être dans le même répertoire que le fichier Word
'sinon il faut changer ActiveDocument.Path
'changer éventuellement le nom Feuil1 par le nom de la feuille du classeur
'changer base_de_données.xlsx par le nom de votre fichier.xlsx
Dim xlApp As Object
Dim DocExcel As String
Dim classeur, ligne, k
classeur = "mon_classeur.xlsx"
DocExcel = ActiveDocument.Path & "\" & classeur

'changer "noms" par le nom de la balise dans votre document
ActiveDocument.SelectContentControlsByTag("noms")(1).DropdownListEntries.Clear

Set xlApp = GetObject(DocExcel)
If Err <> 0 Then Set xlApp = CreateObject("Excel.Application")
On Error GoTo 0
If Err <> 0 Then xlApp.Open (DocExcel)

'si les données se trouvent dans une autre colonne que la colonne A, changer "A1"
ligne = xlApp.sheets("Feuil1").Range("A1").CurrentRegion.Rows.Count
For k = 2 To ligne
If xlApp.sheets("Feuil1").Cells(k, 1= "" Then Exit Sub

ActiveDocument.SelectContentControlsByTag("noms")(1).DropdownListEntries.Add xlApp.sheets("Feuil1").Cells(k, 1)

Next
Set xlApp = Nothing

End Sub
 



Attention ! cette macro ne fonctionnera que pour les utilisateurs ayant accès au classeur Excel. Pour les autres la liste déroulante restera vide.

Le but est l'impression papier ou la conversion en PDF.

 

Statistiques

Aujourd'hui185
Hier2977
Cette semaine16451
Ce mois13167
Total depuis 200412617568

5
visiteurs actuellement en ligne

5 décembre 2020