Bonjour à tous,
Je débute en VBA et je suis confrontée à un problème de publipostage.
En effet, mon client demande à ce qu'on ajoute l'un de ses courriers à notre application afin d'y intégrer des champs de fusion et que ce dernier soit automatiquement rempli.
Jusque là pas de souci, sauf que son document comporte plusieurs listes déroulantes qui, selon la demande du client, doivent être pré-sélectionnées en fonction d'une valeur retournée par un champs de fusion également présent dans le document.
Pour faire plus simple, j'ai un champs de fusion qui prendra une certaine valeur lors du lancement de la fusion et la liste déroulante contenant l'objet du courrier devra automatiquement être sélectionnée en fonction de cette valeur.
Première point : Est ce possible ?
Deuxième point :
J'ai voulu utiliser la liste déroulante déjà présente dans le document mais VBA ne la trouve pas dans la liste des champs du document (FormFields ou Fields).
J'ai donc créé une autre liste déroulante via les "outils hérités" de l'onglet "Développeur / Contrôles" mais là je ne sais pas comment demander la sélection d'une ligne spécifique de la combo
Voici mon code :
J'ai également essayé avec la propriété "ListeIndex" mais j'ai j'ai toujours le même message d'erreur qui apparait lorsque je teste mon code dans VBA : "Membre de méthode ou de données introuvable"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub UserForm_Initialize() 'récupération de la valeur du signet ecran_source (champs de fusion ECRAN) s_ecran = ActiveDocument.Bookmarks("ecran_source").Range.Text With ActiveDocument.FormFields("ListeDéroulante1") Select Case s_ecran Case "ECRAN1" ActiveDocument.FormFields("ListeDéroulante1").Value = 2 Case "ECRAN2" ActiveDocument.FormFields("ListeDéroulante1").Value = 4 End Select End With End Sub
D'avance merci pour votre aide !!
Partager