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

Construire un tableau dans un publipostage

3 réponses
Avatar
Fabien
Bonjour,
Alors voila : J'ai un champ qui va contenir les éléments du tableau que je
veux obtenir dans mon document de fusion.
Ce champs contient les éléments a mettre dans les colonnes. Ces éléments
sont séparés par des tabulateurs,les lignes seront séparée par des -.
ex :
la variable tableau contiendrait "@Date de
naissancechr(8)Nomchr(8)Prenomchr(8)-01/01/2005chr(8)BONchr(8)Jean-01/05/2004chr(8)QUIROULEchr(8)Pierre"
L'idée que j'avais était, a la fin de la fusion, de faire tourner une macro
où les @ serviraient a reperer le début la ligne à convertir en tableau ,
on supprime ce caractére, on selectionne la ligne et avec la commande de
conversion d'un texte en tableau le tour est joué.

Mais comment déclencher cette macro ?
Fabien

3 réponses

Avatar
Circé
Bonjour Fabien,

Ce ne serait pas plus logique de modifier la base de données ?

Circé
http://faqword.free.fr

Le 13/10/2005, Fabien a supposé :
Bonjour,
Alors voila : J'ai un champ qui va contenir les éléments du tableau que je
veux obtenir dans mon document de fusion.
Ce champs contient les éléments a mettre dans les colonnes. Ces éléments sont
séparés par des tabulateurs,les lignes seront séparée par des -.
ex :
la variable tableau contiendrait "@Date de
naissancechr(8)Nomchr(8)Prenomchr(8)-01/01/2005chr(8)BONchr(8)Jean-01/05/2004chr(8)QUIROULEchr(8)Pierre"
L'idée que j'avais était, a la fin de la fusion, de faire tourner une macro
où les @ serviraient a reperer le début la ligne à convertir en tableau , on
supprime ce caractére, on selectionne la ligne et avec la commande de
conversion d'un texte en tableau le tour est joué.

Mais comment déclencher cette macro ?
Fabien


Avatar
Fabien
Bonjour Circé,
Merci de ta réponse mais le soucis n'est pas la base de donnée.
Le but est d'obtenir un tableau dans le document de fusion . Ce tableau
pouvant être constitué d'une a plusieurs lignes.
L'enregistrement qui est transmis a Word lors de la fusion est unique et
provient d'un logiciel tiers. Le principe c'est un enregistrement égale une
fusion.
Ce logiciel genere dans un enregistrement les infos qui sont ensuite
analysées par un script qui lui-meme déclanche la fusion.
Mon seul point d'action ce situe avant la fusion sur les données qui seront
passées à Word pour la fusion et je l'espere aprés la fusion dans le
document de fusion ou résultant de la fusion
Fabien

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

Bonjour Fabien,

Ce ne serait pas plus logique de modifier la base de données ?

Circé
http://faqword.free.fr

Le 13/10/2005, Fabien a supposé :
Bonjour,
Alors voila : J'ai un champ qui va contenir les éléments du tableau que
je veux obtenir dans mon document de fusion.
Ce champs contient les éléments a mettre dans les colonnes. Ces éléments
sont séparés par des tabulateurs,les lignes seront séparée par des -.
ex :
la variable tableau contiendrait "@Date de
naissancechr(8)Nomchr(8)Prenomchr(8)-01/01/2005chr(8)BONchr(8)Jean-01/05/2004chr(8)QUIROULEchr(8)Pierre"
L'idée que j'avais était, a la fin de la fusion, de faire tourner une
macro où les @ serviraient a reperer le début la ligne à convertir en
tableau , on supprime ce caractére, on selectionne la ligne et avec la
commande de conversion d'un texte en tableau le tour est joué.

Mais comment déclencher cette macro ?
Fabien






Avatar
Fabien
Voici la macro que je souhaiterai déclanchée
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 13/10/2005
'
'***********************************
'On cherche le premier @
'***********************************
Selection.Find.ClearFormatting
With Selection.Find
.Text = "@"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute

'***********************************
'On le supprime
'***********************************
Selection.Delete Unit:=wdCharacter, Count:=1

'******************************************************
'On selectionne le texte jusqu'au @ Suivant
'******************************************************
Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
Do Until InStr(1, Selection, "@")
Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
Loop

'*******************************************************
'On convertit le texte en tableau
'*******************************************************
Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=0, _
NumRows:=1, AutoFitBehavior:=wdAutoFitFixed
With Selection.Tables(1)
.Style = "Web 2"
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
.Rows.Alignment = wdAlignRowCenter

End With

'********************************************
'On cherche le dernier @ et on le supprimme
'********************************************
Selection.Find.Execute
Selection.Delete Unit:=wdCharacter, Count:=1
End Sub

"Fabien" <..> a écrit dans le message de news:
434e461b$0$979$
Bonjour Circé,
Merci de ta réponse mais le soucis n'est pas la base de donnée.
Le but est d'obtenir un tableau dans le document de fusion . Ce tableau
pouvant être constitué d'une a plusieurs lignes.
L'enregistrement qui est transmis a Word lors de la fusion est unique et
provient d'un logiciel tiers. Le principe c'est un enregistrement égale
une fusion.
Ce logiciel genere dans un enregistrement les infos qui sont ensuite
analysées par un script qui lui-meme déclanche la fusion.
Mon seul point d'action ce situe avant la fusion sur les données qui
seront passées à Word pour la fusion et je l'espere aprés la fusion dans
le document de fusion ou résultant de la fusion
Fabien

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

Bonjour Fabien,

Ce ne serait pas plus logique de modifier la base de données ?

Circé
http://faqword.free.fr

Le 13/10/2005, Fabien a supposé :
Bonjour,
Alors voila : J'ai un champ qui va contenir les éléments du tableau que
je veux obtenir dans mon document de fusion.
Ce champs contient les éléments a mettre dans les colonnes. Ces éléments
sont séparés par des tabulateurs,les lignes seront séparée par des -.
ex :
la variable tableau contiendrait "@Date de
naissancechr(8)Nomchr(8)Prenomchr(8)-01/01/2005chr(8)BONchr(8)Jean-01/05/2004chr(8)QUIROULEchr(8)Pierre"
L'idée que j'avais était, a la fin de la fusion, de faire tourner une
macro où les @ serviraient a reperer le début la ligne à convertir en
tableau , on supprime ce caractére, on selectionne la ligne et avec la
commande de conversion d'un texte en tableau le tour est joué.

Mais comment déclencher cette macro ?
Fabien