Bonjour, Esteydematar
Bienvenue dans la communauté de Microsoft.
Il est préférable d'utiliser VBA en même temps qu'Excel pour répondre à vos besoins. Pour intégrer parfaitement VBA avec Excel selon vos besoins, commencez par préparer votre liste de 235 pays dans un format facile à copier. Cette liste peut être conservée dans une une feuille Excel.

Dans votre document Word, positionnez le curseur à l’endroit où vous souhaitez insérer la liste déroulante. Accédez à l’onglet Développeur (que vous devrez peut-être activer manuellement s’il n’est pas déjà visible dans Word: Comment afficher l’onglet Développeur dans Word - Support Microsoft), et dans la section Contrôles, sélectionnez le bouton Contrôle de contenu de zone de liste déroulante
.
Une fois la liste déroulante en place, sélectionnez la boîte de contrôle de contenu de zone de liste déroulante, retournez à l’onglet Développeur et cliquez sur Propriétés. Attribuez un TITRE à votre boîte de contrôle de contenu ; ce titre sera référencé plus tard dans votre script VBA.

Ensuite, activez l’outil Visual Basic depuis l’onglet Développeur, ce qui ouvrira l’interface Visual Basic. Dans cette interface, sélectionnez le menu Outils, puis Références dans le menu déroulant qui s’affiche, et enfin, cochez la bibliothèque d’objets Microsoft Excel 16.0 Object Library dans les Références disponibles. Confirmez votre sélection en cliquant sur OK.

Choisissez votre document Word à la gauche, passez à l’onglet Insertions et choisissez l’option Module. Dans le module qui apparaît, saisissez le code VBA suivant. Assurez-vous de sauvegarder votre script. Pour exécuter le code, appuyez simplement sur le bouton vert en forme de triangle.
Sub Document_Open()
Application.ScreenUpdating = False'Note: A VBA Reference to the Excel Object Model is required, via Tools|ReferencesDim xlApp As New Excel.Application, xlWkBk As Excel.WorkbookDim StrWkBkNm As String, StrWkShtNm As String, LRow As Long, i As LongStrWkBkNm = "C:\Users" & Environ("Username") & "\Documents\Workbook Name.xls"StrWkShtNm = "Sheet1"If Dir(StrWkBkNm) = "" ThenMsgBox "Cannot find the designated workbook: " & StrWkBkNm, vbExclamationExit SubEnd IfWith xlApp'Hide our Excel session.Visible = False' Open the workbookSet xlWkBk = .Workbooks.Open(FileName:=StrWkBkNm, ReadOnly:=True, AddToMRU:=False)' Process the workbook.With xlWkBkWith .Worksheets(StrWkShtNm)' Find the last-used row in column A.LRow = .Cells(.Rows.Count, 1).End(xlUp).Row' Populate the content control titled 'ID', with Column A for the 'ID' as the' content control Text and the values from columns B-E as the content control' value, using a "|" separatorActiveDocument.SelectContentControlsByTitle("ID")(1).DropdownListEntries.ClearFor i = 1 To LRowActiveDocument.SelectContentControlsByTitle("ID")(1).DropdownListEntries.Add _Text:=Trim(.Range("A" & i))'or, for example, to add the contents of column B to the content control's 'value':'ActiveDocument.SelectContentControlsByTitle("ID")(1).DropdownListEntries.Add _Text:=Trim(.Range("A" & i)), Value:=Trim(.Range("B" & i))NextEnd With.Close FalseEnd With.QuitEnd With' Release Excel object memorySet xlWkBk = Nothing: Set xlApp = NothingApplication.ScreenUpdating = TrueEnd Sub

Les ajustements des références du classeur et de la feuille de calcul peuvent être effectués via les variables StrWkBkNm et StrWkShtNm, respectivement. Il est important de noter que chaque entrée de la liste déroulante et chaque valeur de la liste déroulante doivent être distinctes pour que le script fonctionne correctement.
Veuillez noter que le script actuel rafraîchira le contenu de la liste déroulante à chaque ouverture du document, ce qui écrasera toute sélection précédemment effectuée. Pour éviter cela, envisagez de renommer la macro (par exemple, en ‘UpdateDropDown’), permettant ainsi son exécution uniquement lorsque nécessaire.
Comment modifier le nom d'une macro - Support Microsoft
Yuhao Li
Support technique de la communauté de Microsoft