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

Copie des valeurs de champs

3 réponses
Avatar
jepac
Bonsoir,

J'ai un document avec deux sections. Dans la 1ere des champs de formulaire,
dans la seconde du texte et des champs faisant référence aux champs de
formulaire dela 1ere section.

Je souhaite, à l'aide d'une macro, copier dans un nouveau document le texte
et la valeur des champs de la section 2.

Comment dois-je m'y prendre ?

Merci
Jean-Paul

3 réponses

Avatar
heureux-oli
Bonsoir,

Pour fonctionner, le formulaire doit être verrouillé.
On va dans un premier temps déverrouiller le formulaire pour avoir accès aux
champs.
Pour chaque champs présents dans le formulaire, on va récupérer son
résultat.
Ce résultat va être copié dan sune variable texte avec un retour à la ligne.
On va créer un nouveau document, et y copier le texte.

D'autres méthodes existent, mais comme nous n'avaons pas d'idée sur tes
intentions.

Sub CopierFields()
Dim fld As FormField
Dim stTemp As String
Dim oDoc As Document
ActiveDocument.Unprotect
stTemp = ""
For Each fld In ActiveDocument.FormFields
stTemp = stTemp & fld.Result & vbCrLf
Debug.Print stTemp
Next fld
Set oDoc = Documents.Add
oDoc.Range.Text = stTemp

End Sub


--
Heureux-oli
http://heureuxoli.developpez.com/

"jepac" a écrit dans le message de news:

Bonsoir,

J'ai un document avec deux sections. Dans la 1ere des champs de
formulaire,
dans la seconde du texte et des champs faisant référence aux champs de
formulaire dela 1ere section.

Je souhaite, à l'aide d'une macro, copier dans un nouveau document le
texte
et la valeur des champs de la section 2.

Comment dois-je m'y prendre ?

Merci
Jean-Paul



Avatar
jepac
Bonjour,

Merci pour ta réponse mais je ne crois que cela corresponde à ce que je
souhaite. En effet je souhaite garder la mise en forme de la section 2.

Mon but est de copier la valeur des champs ainsi que le texte qui accompagne
ces champs dans la section 2.

Je pensais copier l'intégralité de la section 2 dans un nouveau document
puis de convertir la valeur des champs en texte simple en utilisant
CRTL+SHIFT+F9 mais là je bloque car je ne sais pas comment écrire
l'équivalent de CTRL+SHIFT+F9 en VBA.

Merci pour ton aide.
Jean-Paul




Bonsoir,

Pour fonctionner, le formulaire doit être verrouillé.
On va dans un premier temps déverrouiller le formulaire pour avoir accès aux
champs.
Pour chaque champs présents dans le formulaire, on va récupérer son
résultat.
Ce résultat va être copié dan sune variable texte avec un retour à la ligne.
On va créer un nouveau document, et y copier le texte.

D'autres méthodes existent, mais comme nous n'avaons pas d'idée sur tes
intentions.

Sub CopierFields()
Dim fld As FormField
Dim stTemp As String
Dim oDoc As Document
ActiveDocument.Unprotect
stTemp = ""
For Each fld In ActiveDocument.FormFields
stTemp = stTemp & fld.Result & vbCrLf
Debug.Print stTemp
Next fld
Set oDoc = Documents.Add
oDoc.Range.Text = stTemp

End Sub


--
Heureux-oli
http://heureuxoli.developpez.com/

"jepac" a écrit dans le message de news:

Bonsoir,

J'ai un document avec deux sections. Dans la 1ere des champs de
formulaire,
dans la seconde du texte et des champs faisant référence aux champs de
formulaire dela 1ere section.

Je souhaite, à l'aide d'une macro, copier dans un nouveau document le
texte
et la valeur des champs de la section 2.

Comment dois-je m'y prendre ?

Merci
Jean-Paul








Avatar
heureux-oli
Désolé, mais ton souhait n'était pas mentionné dans ta demande.

Essaie ceci

Dim sttemp
sttemp = ActiveDocument.Sections(2).Range.Text
Documents.Add
Selection.Range.Text = sttemp

On peut aussi tenter le coup avec Copy et Paste en VBA.


--
Heureux-oli
http://heureuxoli.developpez.com/

"jepac" a écrit dans le message de news:

Bonjour,

Merci pour ta réponse mais je ne crois que cela corresponde à ce que je
souhaite. En effet je souhaite garder la mise en forme de la section 2.

Mon but est de copier la valeur des champs ainsi que le texte qui
accompagne
ces champs dans la section 2.

Je pensais copier l'intégralité de la section 2 dans un nouveau document
puis de convertir la valeur des champs en texte simple en utilisant
CRTL+SHIFT+F9 mais là je bloque car je ne sais pas comment écrire
l'équivalent de CTRL+SHIFT+F9 en VBA.

Merci pour ton aide.
Jean-Paul




Bonsoir,

Pour fonctionner, le formulaire doit être verrouillé.
On va dans un premier temps déverrouiller le formulaire pour avoir accès
aux
champs.
Pour chaque champs présents dans le formulaire, on va récupérer son
résultat.
Ce résultat va être copié dan sune variable texte avec un retour à la
ligne.
On va créer un nouveau document, et y copier le texte.

D'autres méthodes existent, mais comme nous n'avaons pas d'idée sur tes
intentions.

Sub CopierFields()
Dim fld As FormField
Dim stTemp As String
Dim oDoc As Document
ActiveDocument.Unprotect
stTemp = ""
For Each fld In ActiveDocument.FormFields
stTemp = stTemp & fld.Result & vbCrLf
Debug.Print stTemp
Next fld
Set oDoc = Documents.Add
oDoc.Range.Text = stTemp

End Sub


--
Heureux-oli
http://heureuxoli.developpez.com/

"jepac" a écrit dans le message de
news:

Bonsoir,

J'ai un document avec deux sections. Dans la 1ere des champs de
formulaire,
dans la seconde du texte et des champs faisant référence aux champs de
formulaire dela 1ere section.

Je souhaite, à l'aide d'une macro, copier dans un nouveau document le
texte
et la valeur des champs de la section 2.

Comment dois-je m'y prendre ?

Merci
Jean-Paul