Récupération des champs de formulaire dans excel- Problème avec liste déroulante et case à cocher
1 réponse
didier.urli
Bonjour,
J'ai r=E9cup=E9r=E9 r=E9cemment 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=E9roulante ou la case =E0
cocher.
Je vous joins le r=E9sultat que j'obtiens (annexe 1) et la macro
utilis=E9e (annexe 2).
Si quelqu'un peut me d=E9panner, 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=E9ress=E9.
Annexe 2:
Sub Macro1()
'
' Macro1 Macro
' Macro enregistr=E9e le 2007-02-15 par Didier
Dim wrd As Object
Dim i As Integer, aBookmark
Set wrd =3D CreateObject("Word.Application")
wrd.Documents.Open Filename:=3D"C:\FC- 2005-JOUVE-1.doc"
'// pas obliger de voir
'wrd.Visible =3D True
If wrd.ActiveDocument.Bookmarks.Count >=3D 1 Then
For Each aBookmark In wrd.ActiveDocument.Bookmarks
Worksheets("Feuil1").Range("a1").Offset(1, i) =3D aBookmark.Name
Worksheets("Feuil1").Range("a1").Offset(2, i) =3D aBookmark.Range
i =3D i + 1
Next aBookmark
End If
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anacoluthe
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
Bonjour !
'didier.urli@ri.cgocable.ca' 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
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