Récupération des champs de formulaire dans excel- Problème avec liste déroulante et case à cocher

Le
didier.urli
Bonjour,

J'ai récupéré récemment une macro qui permet de lire les champs d'un
formulaire word dans excel. Elle fonctionne bien hormis pour les
champs de type FormCkeckBox et FormDropDown qui n'affichent pas le
contenu (la valeur retenue) dans la liste déroulante ou la case à
cocher.

Je vous joins le résultat que j'obtiens (annexe 1) et la macro
utilisée (annexe 2).

Si quelqu'un peut me dépanner, j'en serais ravi.

Merci d'avance.
Didier

Annexe 1:
ligne1: CaseACocher1
ligne 2: FORMCHECKBOX 


ici je devrais avoir normalement "projet interne" par exemple qui est
le choix retenu par l'intéressé.

Annexe 2:
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 2007-02-15 par Didier
Dim wrd As Object
Dim i As Integer, aBookmark

Set wrd = CreateObject("Word.Application")

wrd.Documents.Open Filename:="C:FC- 2005-JOUVE-1.doc"
'// pas obliger de voir
'wrd.Visible = True
If wrd.ActiveDocument.Bookmarks.Count >= 1 Then
For Each aBookmark In wrd.ActiveDocument.Bookmarks
Worksheets("Feuil1").Range("a1").Offset(1, i) = aBookmark.Name
Worksheets("Feuil1").Range("a1").Offset(2, i) = aBookmark.Range
i = i + 1
Next aBookmark
End If

wrd.Quit
Set wrd = Nothing
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Anacoluthe
Le #1619107
Bonjour !

'' nous a écrit ...
J'ai récupéré récemment une macro qui permet de lire les champs d'un
formulaire word dans excel. Elle fonctionne bien hormis pour les
champs de type FormCkeckBox et FormDropDown qui n'affichent pas le
contenu (la valeur retenue) dans la liste déroulante ou la case à
cocher.


Votre macro énumère les /signets/ du document
et non les champs de formulaire.

Il est vrai que chaque champ de formulaire est repérable aussi par un signet.

Si vous souhaitez conserver l'exploration de votre document par signets
il faudrait remplacer
= aBookmark.Range
par
= aBookmark.Range.Formfields(1).Result

Vous obtiendrez le /résultat/ du champ de formulaire contenu dans
votre signet. Pour une case à cocher vous obtiendrez 0 ou 1

Il aurait été préférable d'explorer le formulaire par ses FormFields
au lieu de ses Bookmarks. M'enfin, c'est vous qui voyez...

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE

Publicité
Poster une réponse
Anonyme