OVH Cloud OVH Cloud

Macro

15 réponses
Avatar
jepac
Bonjour

Je voudrais créer une macro pour copier le contenu d'un champ texte ou liste
déroulante vers un champ texte.

Merci
Jean-Paul

10 réponses

1 2
Avatar
Anacoluthe
Bonjour !

'jepac' nous a écrit ...
Je voudrais créer une macro pour copier le contenu d'un champ texte ou liste
déroulante vers un champ texte.


Soit un formulaire contenant deux champs texte de signets Texte1 et Texte2
La macro suivante placée en exécution de Sortie du champ Texte1 va
copier le contenu de Texte1 dans Texte2

Public Sub Toto()
With ActiveDocument.FormFields
.Item("Texte2").Result = .Item("Texte1").Result
End With
End Sub

NB : ceci est un exemple didactique pouvant servir de point de départ
à des macros plus complexes mais en l'état ici totalement SUPERFETATOIRE
car bien entendu il est possible de placer Texte1 dans Texte2 SANS MACRO !!!!

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE

Avatar
jepac
Merci


Bonjour !

'jepac' nous a écrit ...
Je voudrais créer une macro pour copier le contenu d'un champ texte ou liste
déroulante vers un champ texte.


Soit un formulaire contenant deux champs texte de signets Texte1 et Texte2
La macro suivante placée en exécution de Sortie du champ Texte1 va
copier le contenu de Texte1 dans Texte2

Public Sub Toto()
With ActiveDocument.FormFields
.Item("Texte2").Result = .Item("Texte1").Result
End With
End Sub

NB : ceci est un exemple didactique pouvant servir de point de départ
à des macros plus complexes mais en l'état ici totalement SUPERFETATOIRE
car bien entendu il est possible de placer Texte1 dans Texte2 SANS MACRO !!!!

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE




Avatar
Jepac
Alors comment peux t-on faire sans passer par les coller avec liaison

Merci
JP

Merci


Bonjour !

'jepac' nous a écrit ...
Je voudrais créer une macro pour copier le contenu d'un champ texte ou liste
déroulante vers un champ texte.
Soit un formulaire contenant deux champs texte de signets Texte1 et Texte2

La macro suivante placée en exécution de Sortie du champ Texte1 va
copier le contenu de Texte1 dans Texte2

Public Sub Toto()
With ActiveDocument.FormFields
.Item("Texte2").Result = .Item("Texte1").Result
End With
End Sub

NB : ceci est un exemple didactique pouvant servir de point de départ
à des macros plus complexes mais en l'état ici totalement SUPERFETATOIRE
car bien entendu il est possible de placer Texte1 dans Texte2 SANS MACRO !!!!

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE






Avatar
Anacoluthe
Bonjour !

'Jepac' nous a écrit ...
Alors comment peux t-on faire sans passer par les coller avec liaison


Si c'est juste pour recopier une donnée, un simple renvoi suffit, non ?
Cocher 'Calculer à la sortie' dans le champ pour que le renvoi soit mis à jour.

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE

Avatar
Jepac
Bonsoir,

Je vais expliquer mon cas en entier :

J'ai un document avec deux sections - dans la 1ère section un champ
texte "texte1" - dans la seconde section en champ texte "texte2" -
texte2 doit avoir la valeur de texte1.

Ensuite j'ai fait une macro qui créée une troisième section et copie la
section2 avec le même champ texte que dans la section2 et qui donc doit
contenir la valeur de texte1 et doit pouvoir se modifier à chaque fois
que l'on modifie texte1....et là je cale

Jean-Paul

Bonjour !

'Jepac' nous a écrit ...
Alors comment peux t-on faire sans passer par les coller avec liaison


Si c'est juste pour recopier une donnée, un simple renvoi suffit, non ?
Cocher 'Calculer à la sortie' dans le champ pour que le renvoi soit mis
à jour.

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE




Avatar
Anacoluthe
Bonjour !

'Jepac' nous a écrit ...
texte2 doit avoir la valeur de texte1.


Ben oui, alors replacez simplement Texte2 par un Renvoi* à Texte1
La copie de la section 2 en section 3 créera un autre renvoi à Texte1

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE

Avatar
Jepac
Désolé chui pas très doué : c'est quoi un renvoi ?

JP

Bonjour !

'Jepac' nous a écrit ...
texte2 doit avoir la valeur de texte1.


Ben oui, alors replacez simplement Texte2 par un Renvoi* à Texte1
La copie de la section 2 en section 3 créera un autre renvoi à Texte1

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE




Avatar
Geo

Désolé chui pas très doué : c'est quoi un renvoi ?


C'est quand on a bu trop de Vouvray pétillant.

Oupss je -> []

--
A+

Avatar
Jepac
Je n'ai pas bu de Vouvray pétillant mais sûrement les neurones
défaillants car je n'ai toujours pas compris la méthode champ avec renvoi !

JP


Désolé chui pas très doué : c'est quoi un renvoi ?


C'est quand on a bu trop de Vouvray pétillant.

Oupss je -> []




Avatar
Tisane
Bonjour Jean-Paul,

je n'ai toujours pas compris la méthode champ avec renvoi !


Je pense qu'Anacoluthe veut parler de référence (champ Ref).
A l'endroit où tu dois placer ton Texte2, tu tapes { REF Texte1 }
sachant que :
- les { } s'obtiennent avec <Ctrl><F9>
- Texte1 représente le nom de signet de ton texte 1. Tu peux vérifier le nom
du signet dans les propriétés du champ texte1 ou dans le menu Insertion |
Signet.
- <Alt><F9> permet d'afficher/masquer les codes de champs
- <F9> permet de mettre à jour les champs.
Tu peux aussi insérer ce champ via le menu Insertion | Champ.

--
Tisane

1 2