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 !
'jepac' nous a écrit ...
Soit deux champs texte Nom1 et Nom2. Je souhaiterais construire une macro qui s'exécuterai à la sortie du champ Nom1 et copierai la saisie du champ Nom1 dans le champ Nom2. Et bien sûr une macro qui copierai la saisie du champ Nom2 vers le champ Nom1 Ceci afin que l'utilisateur puisse saisir à plusieurs endroits dans le document des données qui doivent se répéter dans plusieurs sections du document
Le mieux est de concevoir UNE seule macro pour tous les champs Nom* dont l'exécution serait activée en sortie de chacun. Vous pouvez avoir Nom1 Nom2 Nom3 etc comme signets de ces champs de formulaire.
Supposons pour simplifier que tous les champs Nom* soient en tête de paragraphe :
Public Sub TousNomsPareils() Dim Nom As String Dim FF As FormField Nom = Selection.Paragraphs(1).Range.FormFields(1).Result For Each FF In ActiveDocument.FormFields If Left(FF.Name, 3) = "Nom" Then FF.Result = Nom Next FF End Sub
Anacoluthe « C'est un ami dont je ne connais pas le nom, et je le connais depuis trop longtemps pour lui demander. » - Georges FEYDEAU
Bonjour !
'jepac' nous a écrit ...
Soit deux champs texte Nom1 et Nom2.
Je souhaiterais construire une macro qui s'exécuterai à la sortie du champ
Nom1 et copierai la saisie du champ Nom1 dans le champ Nom2.
Et bien sûr une macro qui copierai la saisie du champ Nom2 vers le champ Nom1
Ceci afin que l'utilisateur puisse saisir à plusieurs endroits dans le
document des données qui doivent se répéter dans plusieurs sections du
document
Le mieux est de concevoir UNE seule macro pour tous les champs Nom*
dont l'exécution serait activée en sortie de chacun. Vous pouvez
avoir Nom1 Nom2 Nom3 etc comme signets de ces champs de formulaire.
Supposons pour simplifier que tous les champs Nom* soient
en tête de paragraphe :
Public Sub TousNomsPareils()
Dim Nom As String
Dim FF As FormField
Nom = Selection.Paragraphs(1).Range.FormFields(1).Result
For Each FF In ActiveDocument.FormFields
If Left(FF.Name, 3) = "Nom" Then FF.Result = Nom
Next FF
End Sub
Anacoluthe
« C'est un ami dont je ne connais pas le nom,
et je le connais depuis trop longtemps pour lui demander. »
- Georges FEYDEAU
Soit deux champs texte Nom1 et Nom2. Je souhaiterais construire une macro qui s'exécuterai à la sortie du champ Nom1 et copierai la saisie du champ Nom1 dans le champ Nom2. Et bien sûr une macro qui copierai la saisie du champ Nom2 vers le champ Nom1 Ceci afin que l'utilisateur puisse saisir à plusieurs endroits dans le document des données qui doivent se répéter dans plusieurs sections du document
Le mieux est de concevoir UNE seule macro pour tous les champs Nom* dont l'exécution serait activée en sortie de chacun. Vous pouvez avoir Nom1 Nom2 Nom3 etc comme signets de ces champs de formulaire.
Supposons pour simplifier que tous les champs Nom* soient en tête de paragraphe :
Public Sub TousNomsPareils() Dim Nom As String Dim FF As FormField Nom = Selection.Paragraphs(1).Range.FormFields(1).Result For Each FF In ActiveDocument.FormFields If Left(FF.Name, 3) = "Nom" Then FF.Result = Nom Next FF End Sub
Anacoluthe « C'est un ami dont je ne connais pas le nom, et je le connais depuis trop longtemps pour lui demander. » - Georges FEYDEAU
jepac
Merci pour ta réponse.
Mon document est constitué de 3 sections et les champs "Nom" se trouvent au même endroit dans chacune des sections, mais pas a début.
Comment sont numérotés les champs ? de gauche à droite ? du haut vers le bas ?
si par exemple le champ "Nom" est le 10ème champ de la section puis-je écrire ceci :
Nom = Selection.sections(1).Range.FormFields(10).Result
mais pour la suite de la macro...je cale.
Si c'est plus simple d'écrire 3 macros je suis preneur
Merci Jean-Paul
Bonjour !
'jepac' nous a écrit ...
Soit deux champs texte Nom1 et Nom2. Je souhaiterais construire une macro qui s'exécuterai à la sortie du champ Nom1 et copierai la saisie du champ Nom1 dans le champ Nom2. Et bien sûr une macro qui copierai la saisie du champ Nom2 vers le champ Nom1 Ceci afin que l'utilisateur puisse saisir à plusieurs endroits dans le document des données qui doivent se répéter dans plusieurs sections du document
Le mieux est de concevoir UNE seule macro pour tous les champs Nom* dont l'exécution serait activée en sortie de chacun. Vous pouvez avoir Nom1 Nom2 Nom3 etc comme signets de ces champs de formulaire.
Supposons pour simplifier que tous les champs Nom* soient en tête de paragraphe :
Public Sub TousNomsPareils() Dim Nom As String Dim FF As FormField Nom = Selection.Paragraphs(1).Range.FormFields(1).Result For Each FF In ActiveDocument.FormFields If Left(FF.Name, 3) = "Nom" Then FF.Result = Nom Next FF End Sub
Anacoluthe « C'est un ami dont je ne connais pas le nom, et je le connais depuis trop longtemps pour lui demander. » - Georges FEYDEAU
Merci pour ta réponse.
Mon document est constitué de 3 sections et les champs "Nom" se trouvent au
même endroit dans chacune des sections, mais pas a début.
Comment sont numérotés les champs ? de gauche à droite ? du haut vers le bas ?
si par exemple le champ "Nom" est le 10ème champ de la section puis-je
écrire ceci :
Nom = Selection.sections(1).Range.FormFields(10).Result
mais pour la suite de la macro...je cale.
Si c'est plus simple d'écrire 3 macros je suis preneur
Merci
Jean-Paul
Bonjour !
'jepac' nous a écrit ...
Soit deux champs texte Nom1 et Nom2.
Je souhaiterais construire une macro qui s'exécuterai à la sortie du champ
Nom1 et copierai la saisie du champ Nom1 dans le champ Nom2.
Et bien sûr une macro qui copierai la saisie du champ Nom2 vers le champ Nom1
Ceci afin que l'utilisateur puisse saisir à plusieurs endroits dans le
document des données qui doivent se répéter dans plusieurs sections du
document
Le mieux est de concevoir UNE seule macro pour tous les champs Nom*
dont l'exécution serait activée en sortie de chacun. Vous pouvez
avoir Nom1 Nom2 Nom3 etc comme signets de ces champs de formulaire.
Supposons pour simplifier que tous les champs Nom* soient
en tête de paragraphe :
Public Sub TousNomsPareils()
Dim Nom As String
Dim FF As FormField
Nom = Selection.Paragraphs(1).Range.FormFields(1).Result
For Each FF In ActiveDocument.FormFields
If Left(FF.Name, 3) = "Nom" Then FF.Result = Nom
Next FF
End Sub
Anacoluthe
« C'est un ami dont je ne connais pas le nom,
et je le connais depuis trop longtemps pour lui demander. »
- Georges FEYDEAU
Mon document est constitué de 3 sections et les champs "Nom" se trouvent au même endroit dans chacune des sections, mais pas a début.
Comment sont numérotés les champs ? de gauche à droite ? du haut vers le bas ?
si par exemple le champ "Nom" est le 10ème champ de la section puis-je écrire ceci :
Nom = Selection.sections(1).Range.FormFields(10).Result
mais pour la suite de la macro...je cale.
Si c'est plus simple d'écrire 3 macros je suis preneur
Merci Jean-Paul
Bonjour !
'jepac' nous a écrit ...
Soit deux champs texte Nom1 et Nom2. Je souhaiterais construire une macro qui s'exécuterai à la sortie du champ Nom1 et copierai la saisie du champ Nom1 dans le champ Nom2. Et bien sûr une macro qui copierai la saisie du champ Nom2 vers le champ Nom1 Ceci afin que l'utilisateur puisse saisir à plusieurs endroits dans le document des données qui doivent se répéter dans plusieurs sections du document
Le mieux est de concevoir UNE seule macro pour tous les champs Nom* dont l'exécution serait activée en sortie de chacun. Vous pouvez avoir Nom1 Nom2 Nom3 etc comme signets de ces champs de formulaire.
Supposons pour simplifier que tous les champs Nom* soient en tête de paragraphe :
Public Sub TousNomsPareils() Dim Nom As String Dim FF As FormField Nom = Selection.Paragraphs(1).Range.FormFields(1).Result For Each FF In ActiveDocument.FormFields If Left(FF.Name, 3) = "Nom" Then FF.Result = Nom Next FF End Sub
Anacoluthe « C'est un ami dont je ne connais pas le nom, et je le connais depuis trop longtemps pour lui demander. » - Georges FEYDEAU