Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modifier la valeur d'un élément de formulaire en VBA

3 réponses
Avatar
Jefflec
Bonjour,

J'ai créé un document sous Word 2000 avec des éléments de la barre d'outils
Formulaires (Champs texte, listes déroulantes...)

J'aimerais, après que l'utilisateur ait modifié certains champ, en remplir
d'autres automatiquement grâce à la fonction "Exécuter la macro ... à la
sortie".

Malheureusement, depuis VBA, je ne trouve pas la fonction qui me permette de
modifier la valeur d'un champ.

Toutes les méthodes que j'ai testé ne fonctionnent pas :
ActiveDocument.FormFields("monChamp") = "texte"
ActiveDocument.FormFields("monChamp").value = "texte"
ActiveDocument.Bookmarks.Item("monChamp").Range.Text = "texte"
etc etc...

Quelqu'un connait-il la propriété qui permette de modifier la valeur d'un
élément inséré grâce à la barre d'outils Formulaire ???

Merci !

3 réponses

Avatar
Circé
Bonjour,

Jefflec a pensé très fort :
Bonjour,

J'ai créé un document sous Word 2000 avec des éléments de la barre d'outils
Formulaires (Champs texte, listes déroulantes...)

J'aimerais, après que l'utilisateur ait modifié certains champ, en remplir
d'autres automatiquement grâce à la fonction "Exécuter la macro ... à la
sortie".


Pourquoi une macro ?... Les champs qui doivent être remplis
automatiquement sont-ils des répliques des champs remplis manuellement
ou bien le sont ils en fonction de critères ?...

Circé
http://faqword.free.fr

Avatar
Anacoluthe
Bonjour !

'Jefflec' nous a écrit ...
ActiveDocument.FormFields("monChamp").value = "texte"


Plutôt :
ActiveDocument.FormFields("monChamp").Result = "texte"
monChamp étant le nom de signet (Texte1 par exemple) du champ de
formulaire.

Anacoluthe
« Le champ de l'erreur est immense. »
- Henry St JOHN BOLINGBROKE

Avatar
Jefflec
Bonjour à vous deux,

Un grand merci pour vos réponses.
@ Circé : Les champs peuvent être des répliques des champs remplis
manuellement ET remplis en fonction de critères, d'où la macro.
@ Anacoluthe : ActiveDocument.FormFields("monChamp").Result = "texte" -->
Oui, c'est exactement ça, et ça marche !

MERCI !

Jefflec
"Long et dur est le chemin qui, de l'enfer, mène à la lumière" - J. MILTON


"Jefflec" a écrit dans le message de news:
%
Bonjour,

J'ai créé un document sous Word 2000 avec des éléments de la barre
d'outils Formulaires (Champs texte, listes déroulantes...)

J'aimerais, après que l'utilisateur ait modifié certains champ, en remplir
d'autres automatiquement grâce à la fonction "Exécuter la macro ... à la
sortie".

Malheureusement, depuis VBA, je ne trouve pas la fonction qui me permette
de modifier la valeur d'un champ.

Toutes les méthodes que j'ai testé ne fonctionnent pas :
ActiveDocument.FormFields("monChamp") = "texte"
ActiveDocument.FormFields("monChamp").value = "texte"
ActiveDocument.Bookmarks.Item("monChamp").Range.Text = "texte"
etc etc...

Quelqu'un connait-il la propriété qui permette de modifier la valeur d'un
élément inséré grâce à la barre d'outils Formulaire ???

Merci !