PB remplissage de champs de fusion de word à partie de vba d'excel

Le
regis.blanchet
Bonjour,


j ai une application sur excel (2000) qui permet de remplir des champs
de fusion d'un document word (2000).


Set wordApp = CreateObject("word.application")
wordApp.Visible = True
adressa = ThisWorkbook.Path
Set wordDoc = wordApp.Documents.Open(adressa & "Projet.doc")

For Each afield In wordDoc.fields
If InStr(1, afield.Code.Text, "Société", 1) Then afield.Result.Text =
soci
If InStr(1, afield.Code.Text, "Soap1", 1) Then afield.Result.Text =
ad1
If InStr(1, afield.Code.Text, "b1", 1) Then afield.Result.Text =
prenom(tablo(1))
If InStr(1, afield.Code.Text, "b2", 1) Then afield.Result.Text =
prenom(tablo(2))
If InStr(1, afield.Code.Text, "b3", 1) Then afield.Result.Text =
prenom(tablo(3))
Next afield
Set wordDoc = Nothing
Set wordApp = Nothing

Mon problème c'est que j'ai créé les différentes feuilles
contrairement à un publipostage et donc je souhaite masquer la
deuxieme feuille si le signet b2 n'est pas rempli et la feuille b3 si
b3 est vide.

Pour celà j'ai ajouté dans mon document word:
{ IF «MERGEFIELD b2» <> "" "mon texte pour b2" ""}
{ IF «MERGEFIELD b3» <> "" "mon texte pour b3" ""}

mon problème c est que quand excel me remplit mon document word mes
feuilles pour b2 et b3 sont toujours masquées même si je rentre une
donnée.

Est ce que quelqu'un aurait la solution.
Merci d avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Dom
Le #6787761
Bonjour,

Ta syntaxe m'intrigue :
{ IF «MERGEFIELD b2» <> "" "mon texte pour b2" ""}

tu devrais essayer
{ IF { MERGEFIELD b2 } <> "" "mon texte pour b2" ""}

Dom



Bonjour,


j ai une application sur excel (2000) qui permet de remplir des champs
de fusion d'un document word (2000).


Set wordApp = CreateObject("word.application")
wordApp.Visible = True
adressa = ThisWorkbook.Path
Set wordDoc = wordApp.Documents.Open(adressa & "Projet.doc")

For Each afield In wordDoc.fields
If InStr(1, afield.Code.Text, "Société", 1) Then afield.Result.Text > soci
If InStr(1, afield.Code.Text, "Soap1", 1) Then afield.Result.Text > ad1
If InStr(1, afield.Code.Text, "b1", 1) Then afield.Result.Text > prenom(tablo(1))
If InStr(1, afield.Code.Text, "b2", 1) Then afield.Result.Text > prenom(tablo(2))
If InStr(1, afield.Code.Text, "b3", 1) Then afield.Result.Text > prenom(tablo(3))
Next afield
Set wordDoc = Nothing
Set wordApp = Nothing

Mon problème c'est que j'ai créé les différentes feuilles
contrairement à un publipostage et donc je souhaite masquer la
deuxieme feuille si le signet b2 n'est pas rempli et la feuille b3 si
b3 est vide.

Pour celà j'ai ajouté dans mon document word:
{ IF «MERGEFIELD b2» <> "" "mon texte pour b2" ""}
{ IF «MERGEFIELD b3» <> "" "mon texte pour b3" ""}

mon problème c est que quand excel me remplit mon document word mes
feuilles pour b2 et b3 sont toujours masquées même si je rentre une
donnée.

Est ce que quelqu'un aurait la solution.
Merci d avance



regis.blanchet
Le #6794941
J avais bien tapé sur mon document word

{ IF { MERGEFIELD b2 } <> "" "mon texte pour b2" ""}

pourtant quand b2 est non vide il n affiche toujours pas "mon texte
pour b2"

est ce que c est parce que la valeur de b2 est inscrite dans "mon
texte pour b2"?????
Publicité
Poster une réponse
Anonyme