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

Format avec Fusion conditionnelle

6 réponses
Avatar
DesseJ
Bonjour,

Je m'agace (du fait de manque de connaissance en la mati=E8re) sur la
mise en forme d'un paragraphe dans une fusion conditionnelle.

C'est un document qui =E9tablit par personne une attestation avec les
diff=E9rents contrats =E9tablis : http://cjoint.com/?hmjQy6MB1d

J'ai =E9tabli une fusion conditionnelle (en r=E9pertoire) qui marche
bien, et je veux lister les contrats (partie {IF {NOM1} etc.) avec soit
des puces, soit un tiret avec les retraits qui vont bien, soit un
espacement avant etc.
Le probl=E8me apr=E8s la fusion, c'est que la premi=E8re occurrence de
cette partie est mal format=E9e si je n'ai pas format=E9 de la m=EAme
fa=E7on le paragraphe au dessus (" ""}). Le second souci est que si
j'ins=E8re des puces, il m'ajoute une derni=E8re ligne avec la puce,
vide. Je suis perdu pour mettre en forme cette partie


Merci d'avance pour votre aide,
Steph D.

6 réponses

Avatar
Circé
Bonjour,

Pas très explicite tout ça !!!

Si tu veux faire des fusions conditionnelles, tu peux regarder une
solution facile ici :
http://faqword.free.fr/articles.php?lng=fr&pg81

Je ne comprends pas bien ton problème de format. Le mieux est sans
doute d'utiliser des styles, mais ton fichier n'est pas très explicite
d'autant plus qu'on n'a pas la base, et qu'on ne sait pas exactement ce
que tu veux faire.

Circé
http://faqword.free.fr

DesseJ avait soumis l'idée :
Bonjour,

Je m'agace (du fait de manque de connaissance en la matière) sur la
mise en forme d'un paragraphe dans une fusion conditionnelle.

C'est un document qui établit par personne une attestation avec les
différents contrats établis : http://cjoint.com/?hmjQy6MB1d

J'ai établi une fusion conditionnelle (en répertoire) qui marche
bien, et je veux lister les contrats (partie {IF {NOM1} etc.) avec soit
des puces, soit un tiret avec les retraits qui vont bien, soit un
espacement avant etc.
Le problème après la fusion, c'est que la première occurrence de
cette partie est mal formatée si je n'ai pas formaté de la même
façon le paragraphe au dessus (" ""}). Le second souci est que si
j'insère des puces, il m'ajoute une dernière ligne avec la puce,
vide. Je suis perdu pour mettre en forme cette partie


Merci d'avance pour votre aide,
Steph D.


Avatar
DesseJ
Bonjour, Bonsoir Circé et tous les autres lecteurs,

Je reconnais que je n'ai pas été assez clair ;o))
Le but est de fusionner avec Word, des données extraites dans un
fichier tmp par un de nos logiciels. Je voulais faire un truc sympa
pour une de nos clients et lui lister par salarié les contrats
effectués sans qu'elle ait trop de manipulations à faire..

J'ai retravaillé le document de fusion (répertoire) conformément à
une note "microsoftienne". En voici un exemplaire :
http://cjoint.com/?hmtFwCerFB
Je joins une base de données épurée sur excel
http://cjoint.com/?hmtvwH4ClO et le résultat obtenu
http://cjoint.com/?hmtFQf3xDC

Dans le résultat, j'aurais aimé mettre par exemple des puces pour les
différents contrats ou établir un style uniquement pour cette partie
etc. J'ai déjà eu pas mal de mal à insérer un espacement avant
chaque occurrence pour que ce ne soit pas trop horrible.

Voilà, merci d'avance pour vos conseils
Steph. D.
Avatar
Circé
Bonjour Steph,

Mille excuses pour ce retard dans ma réponse, je n'ai pas été très
disponible ces jours-ci. Et malheureusement je vois que ta question n'a
inspiré personne ! :(

La fusion conditionnelle avec Word n'étant pas prévu, il faut toujours
bricoler ! Cela dit, je ne vois pas bien comment tu pourrais formater
ces paragraphes, car dans le document principal de fusion, il ne s'agit
pas à proprement parler de paragraphe, vu les imbrications de champs,
etc.

Donc, puisque pas possibilité de formater en paragraphe, exit les puces
et autres tirets, par contre tu peux faire un formatage caractères.

Une solution toujours en bricolant, mais solution rapide quand même :
Tu met un format caractère : par exemple police couleur rouge.
Ensuite, dans le résultat de la fusion, tu peux rapidement faire un
recherche-remplace de la police rouge par une noire avec puce.

Bonne journée,

Circé l'empoisonneuse

"N'y touche pas ! m'as-tu crié
Une seule goutte est mortelle" (Rachel Lythos)



DesseJ avait prétendu :
Bonjour, Bonsoir Circé et tous les autres lecteurs,

Je reconnais que je n'ai pas été assez clair ;o))
Le but est de fusionner avec Word, des données extraites dans un
fichier tmp par un de nos logiciels. Je voulais faire un truc sympa
pour une de nos clients et lui lister par salarié les contrats
effectués sans qu'elle ait trop de manipulations à faire..

J'ai retravaillé le document de fusion (répertoire) conformément à
une note "microsoftienne". En voici un exemplaire :
http://cjoint.com/?hmtFwCerFB
Je joins une base de données épurée sur excel
http://cjoint.com/?hmtvwH4ClO et le résultat obtenu
http://cjoint.com/?hmtFQf3xDC

Dans le résultat, j'aurais aimé mettre par exemple des puces pour les
différents contrats ou établir un style uniquement pour cette partie
etc. J'ai déjà eu pas mal de mal à insérer un espacement avant
chaque occurrence pour que ce ne soit pas trop horrible.

Voilà, merci d'avance pour vos conseils
Steph. D.


Avatar
DesseJ
Bonjour douce empoisonneuse,

La fusion conditionnelle avec Word n'étant pas prévu, il faut toujours
bricoler ! Cela dit, je ne vois pas bien comment tu pourrais formater
ces paragraphes, car dans le document principal de fusion, il ne s'agit
pas à proprement parler de paragraphe, vu les imbrications de champs,
etc.
Ca me rassure, je me suis trituré le peu de méninges, pour trouver

s'il existait un code de champ "spécial" pour formater les
paragraphes. J'ai effectué des tests de styles sur cette partie sans
succès, jouer avec la mise en forme des paragraphes etc.

Une solution toujours en bricolant, mais solution rapide quand même :
Tu met un format caractère : par exemple police couleur rouge.
Ensuite, dans le résultat de la fusion, tu peux rapidement faire un
recherche-remplace de la police rouge par une noire avec puce.
Une astuce extra rusée oui ! Je pense que si le besoin s'en fait

sentir, elle devrait pouvoir s'en sortir (je lui ferai une procédure
d'aide pour), à moins que j'ai le courage de lui écrire une macro
avec l'évènement AfterMerge qui gère le remplacement ...

Un grand merci d'avoir passé du temps dessus, bon we
Steph. D.

Avatar
DesseJ
Bonjour à tous,

Merci encore pour tes conseils Circé. Ca roule du tonnerre !!!

J'ai formaté la partie de ma fusion conditionnelle correspondant à la
liste avec une police rouge. J'ai créé dans le document un style
"MonNouveau" (puces, paragraphe, couleur police etc.).
Puis par macro, j'ai ajouté le bout de code plus bas (qui peut sans
doute être encore simplifié) pour qu'après ma fusion, il remplace la
police rouge en lui appliquant le style MonNouveau.

Si cela peut vous être utile ...
Bonne journée,
Steph D.

'--------------------------------------------------------

Dim WithEvents wdapp As Application

Private Sub Document_Open()
Set wdapp = Application
End Sub

Private Sub Document_Close()
Set wdapp = Nothing
End Sub

Private Sub wdapp_MailMergeAfterMerge(ByVal Doc As Document, ByVal
DocResult As Document)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
' Remplace le texte de couleur rouge par le style nommé
"MonNouveau" défini dans le modèle de base
With Selection.Find
.Font.Color = wdColorRed
.Replacement.Font.Color = wdColorBlack
.Replacement.Style = "MonNouveau"
End With
Selection.Find.Execute Replace:=wdReplaceAll

End Sub
Avatar
Circé
Bonsoir !


DesseJ a présenté l'énoncé suivant :

Merci encore pour tes conseils Circé. Ca roule du tonnerre !!!


parfait ! ;)) et merci pour le retour...

Circé l'empoisonneuse
http://faqword.free.fr

"N'y touche pas ! m'as-tu crié
Une seule goutte est mortelle" (Rachel Lythos)


J'ai formaté la partie de ma fusion conditionnelle correspondant à la
liste avec une police rouge. J'ai créé dans le document un style
"MonNouveau" (puces, paragraphe, couleur police etc.).
Puis par macro, j'ai ajouté le bout de code plus bas (qui peut sans
doute être encore simplifié) pour qu'après ma fusion, il remplace la
police rouge en lui appliquant le style MonNouveau.

Si cela peut vous être utile ...
Bonne journée,
Steph D.

'--------------------------------------------------------

Dim WithEvents wdapp As Application

Private Sub Document_Open()
Set wdapp = Application
End Sub

Private Sub Document_Close()
Set wdapp = Nothing
End Sub

Private Sub wdapp_MailMergeAfterMerge(ByVal Doc As Document, ByVal
DocResult As Document)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
' Remplace le texte de couleur rouge par le style nommé
"MonNouveau" défini dans le modèle de base
With Selection.Find
.Font.Color = wdColorRed
.Replacement.Font.Color = wdColorBlack
.Replacement.Style = "MonNouveau"
End With
Selection.Find.Execute Replace:=wdReplaceAll

End Sub