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

recenser les champs de fusion utilisés dans un courrier

18 réponses
Avatar
daniel
Bonsoir,
Je dois faire une liste sur plus de 250 courriers et répertorier pour chaque
courrier, les champs de fusion utilisés, les conditions utilisées, ainsi que
tous les signets et les tableaux insérés (voir plus....).
Est-il possible de le faire par VBA, et comment ?
Merci de vos prochaines réponses.
Daniel H

8 réponses

1 2
Avatar
Geo
Bonjour
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Merci pour la réponse. Je vais donc reprendre le nom du courrier contenant pour le
coller dans mon document qui va recenser tous les champs, puis utiliser votre code pour
lister ceux-ci.
La trame de fond doit être formater sur les champs de chaque courrier.



Si c'est à l'écran, il y a une option d'affichage qui met une trame sur
tous les champs.
Si c'est pour le résultat de la fusion, vous n'allez pas tramer toutes
les variables des courriers que vous allez envoyer ?
Quelque chose m'échappe.

Pour définir un range sur un document, vous pouvez noter un emplacement
par rapport au début du document, la même chose pour la fin et définir
une zone par ces bornes.
Exemple :

Dim MaZone As Range
Dim Début As Long
Dim Fin As Long
Set DocRes = ActiveDocument
' Emplacement de la fin de document
Début = DocRes.Bookmarks("endOfDoc").Range.Start
DocRes.Bookmarks("endOfDoc").Range.InsertAfter _
(MonChamp.Code.Text)
' Nouvel emplacement après le Insert
Fin = DocRes.Bookmarks("endOfDoc").Range.Start
Set MaZone = DocRes.Range(Start:=Début, End:=Fin)
MaZone.Shading.ForegroundPatternColorIndex = wdBlue

--
A+
Avatar
daniel
Bonsoir,
Merci pour votre patience.
Cela peut surprendre, mais je souhaite, non plus tramer, mais changer la
couleur de police des champs (wdColorDarkBlue) dans les courriers.
C'est afin de permettre aux personnes qui utiliserons le résultat de ces
fusions, de bien cibler, à l'écan, les variables et ainsi de leur permettre
de vérifier facilement que les données sont correctes, ce qui ne se voit pas
à l'impression noir et blanc.
Mais avec l'objet "Shading", il semble que l'on ne puisse pas utiliser les
mêmes critères que pour une sélection.
Selection.Font.Color = wdColorDarkBlue
Et j'ai beau chercher, je n'arrive pas éviter les sélections.
Désolé, merci.
Daniel

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

Bonjour
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Merci pour la réponse. Je vais donc reprendre le nom du courrier
contenant pour le coller dans mon document qui va recenser tous les
champs, puis utiliser votre code pour lister ceux-ci.
La trame de fond doit être formater sur les champs de chaque courrier.



Si c'est à l'écran, il y a une option d'affichage qui met une trame sur
tous les champs.
Si c'est pour le résultat de la fusion, vous n'allez pas tramer toutes les
variables des courriers que vous allez envoyer ?
Quelque chose m'échappe.

Pour définir un range sur un document, vous pouvez noter un emplacement
par rapport au début du document, la même chose pour la fin et définir une
zone par ces bornes.
Exemple :

Dim MaZone As Range
Dim Début As Long
Dim Fin As Long
Set DocRes = ActiveDocument
' Emplacement de la fin de document
Début = DocRes.Bookmarks("endOfDoc").Range.Start
DocRes.Bookmarks("endOfDoc").Range.InsertAfter _
(MonChamp.Code.Text)
' Nouvel emplacement après le Insert
Fin = DocRes.Bookmarks("endOfDoc").Range.Start
Set MaZone = DocRes.Range(Start:=Début, End:=Fin)
MaZone.Shading.ForegroundPatternColorIndex = wdBlue

--
A+




Avatar
Geo
Bonjour Daniel
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Cela peut surprendre, mais je souhaite, non plus tramer, mais changer la couleur de
police des champs (wdColorDarkBlue) dans les courriers.



Ça prouve que vous êtes un utilisateur normal, il n'y a que ceux qui
sont obtus qui ne changent pas de spécifications au vu des résultats.

C'est afin de permettre aux personnes qui utiliserons le résultat de ces fusions, de
bien cibler, à l'écan, les variables et ainsi de leur permettre de vérifier facilement
que les données sont correctes, ce qui ne se voit pas à l'impression noir et blanc.



Mais avec l'objet "Shading", il semble que l'on ne puisse pas utiliser les mêmes
critères que pour une sélection.



Shading met une trame, il ne change pas la couleur des caractères.

Selection.Font.Color = wdColorDarkBlue
Et j'ai beau chercher, je n'arrive pas éviter les sélections.



Faudrait-il encore qu'il y ait quelque chose de sélectionné.
Et là c'est moi qui ne comprends pas comment vous faites pour passer
par une sélection.

Dans l'exemple de code de ce matin, mettez Font au lieu de Shading :
MaZone.Font.Color = wdColorDarkBlue

--
A+
Avatar
daniel
Re... ;-)
Je viens de tester, mais comme préciser dans mo précédent messge, c'est bien
dans les courriers et non dans le fichier qui reprendra la totalité des noms
des courriers.
Donc en appliquant le système de début et de fin, c'est tout le document qui
est en font.bleu.
Aussi, j'ai testé avec :
For Each MonChamp In DocCourant.Fields
Range.MonChamp.Font.Color = wdColorDarkBlue
..........
MonChamp est un fields, aussi les méthodes rattachées à cet objet,
n'autorise pas le Font.
J'essaye avec un range, mais pas mieux.
La grosse difficulté, sans sélection de trouver la bonne méthode.
Merci encore.
Daniel


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

Bonjour Daniel
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



Cela peut surprendre, mais je souhaite, non plus tramer, mais changer la
couleur de police des champs (wdColorDarkBlue) dans les courriers.



Ça prouve que vous êtes un utilisateur normal, il n'y a que ceux qui sont
obtus qui ne changent pas de spécifications au vu des résultats.

C'est afin de permettre aux personnes qui utiliserons le résultat de ces
fusions, de bien cibler, à l'écan, les variables et ainsi de leur
permettre de vérifier facilement que les données sont correctes, ce qui
ne se voit pas à l'impression noir et blanc.



Mais avec l'objet "Shading", il semble que l'on ne puisse pas utiliser
les mêmes critères que pour une sélection.



Shading met une trame, il ne change pas la couleur des caractères.

Selection.Font.Color = wdColorDarkBlue
Et j'ai beau chercher, je n'arrive pas éviter les sélections.



Faudrait-il encore qu'il y ait quelque chose de sélectionné.
Et là c'est moi qui ne comprends pas comment vous faites pour passer par
une sélection.

Dans l'exemple de code de ce matin, mettez Font au lieu de Shading :
MaZone.Font.Color = wdColorDarkBlue

--
A+




Avatar
Geo
Bonjour

Pour un champ le Range est
MonChamp.Result
Donc ça donne :
MonChamp.Result.Font.Color = wdColorBlue

Sauf que la propriété Result n'existe pas pour tous les champs, en
particulier pour les champs invisibles du genre entrée d'index.

Il y a plusieurs possibilités,
-utiliser la gestion d'erreur
-ne traiter que pour certains types de MonChamp.Type
- ... passer par un select

--
A+
Avatar
daniel
Bonsoir Geo,
Désolé pour la réponse tardive, mais je n'ai pas avancé sur le sujet.
J'ai dû passer à d'autres impératifs... mais j'y reviendrai dès que
possible, et donc reviendrai poster d'autres messages.
Enfin, merci pour ta disponibilité, c'est vraiment sympa d'avoir des
réponses, malgré des sujets mal expliqués ;-))
A bientôt, et encore bravo pour les réponses.
A+
DanielH


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

Bonjour

Pour un champ le Range est
MonChamp.Result
Donc ça donne :
MonChamp.Result.Font.Color = wdColorBlue

Sauf que la propriété Result n'existe pas pour tous les champs, en
particulier pour les champs invisibles du genre entrée d'index.

Il y a plusieurs possibilités,
-utiliser la gestion d'erreur
-ne traiter que pour certains types de MonChamp.Type
- ... passer par un select

--
A+




Avatar
Geo
Bonjour
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]
Bonsoir Geo,
Désolé pour la réponse tardive, mais je n'ai pas avancé sur le sujet.
J'ai dû passer à d'autres impératifs... mais j'y reviendrai dès que possible, et donc
reviendrai poster d'autres messages.



Pas de souci.
C'est sympa d'être venu donner des nouvelles, même quand ça n'avance
pas.

--
A+
Avatar
daniel
Moqueur...

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

Bonjour
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ] Bonsoir Geo,
Désolé pour la réponse tardive, mais je n'ai pas avancé sur le sujet.
J'ai dû passer à d'autres impératifs... mais j'y reviendrai dès que
possible, et donc reviendrai poster d'autres messages.



Pas de souci.
C'est sympa d'être venu donner des nouvelles, même quand ça n'avance pas.

--
A+




1 2