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

Problèmes de champs dans Word 2002

8 réponses
Avatar
khinoa
Bonjour à tous,

J'utilise Word 2002 pour faire un publipostage. Ma base de données est dans
Excel 2002. Pour l'adresse j'ai 5 champs :
Nom société
Interlocuteur (Monsieur, Madame)
Adresse1
Adresse2
Code postal

Le champ Adresse1 sert aux BP (boîtes postales) et aux ZI (zones
industrielles) et le champ Adresse2 sert au numéro et au nom de la rue, du
boulevard. Lorsqu'il n'y a rien dans le champ Adresse1, le champ reste vide
par conséquent et crée un espace vide, ce qui fait que les deux champs
Interlocuteur et Adresse2 ne se suivent pas, et ce vide n'est pas du plus
bel effet. Y a-t-il un moyen de dire à Word qu'en cas d'absence de données
le champ suivant est mis à sa place, et ainsi de suite pour les autres de
façon à combler tout espace vacant?

Autre problème : il y a dans le reste de la lettre plusieurs champs
Activités1 à Activités9 qui ne sont pas utilisés forcément pour chaque
destinataire et notamment un groupe de phrases qui doit rester en bas de la
lettre, mais qui est trop long pour figurer dans le pied de page. Comme il
est rare que tous les champs Activités soient remplis, le texte commun à
toutes les lettres du bas de page a tendance à remonter et donc à ne pas
rester à la place assignée.

Pour tenter d'y remédier j'ai créé un tableau dans lequel j'ai placé mes
champs pensant qu'ainsi le groupe de phrases de bas de lettre resterait en
toutes circonstances à sa place. Hélas le texte remonte. Comment faire pour
qu'il reste à sa place? J'ai supprimé la bordure des champs pour rendre
invisible le tableau.

D'avance merci

khinoa

8 réponses

Avatar
Anacoluthe
Bonjour !

'khinoa' nous a écrit ...
J'utilise Word 2002 pour faire un publipostage. Ma base de données est dans
Excel 2002. Pour l'adresse j'ai 5 champs :
Le champ Adresse1 sert aux BP (boîtes postales) et aux ZI (zones
industrielles) et le champ Adresse2 sert au numéro et au nom de la rue, du
boulevard. Lorsqu'il n'y a rien dans le champ Adresse1, le champ reste vide
par conséquent et crée un espace vide, ce qui fait que les deux champs
Interlocuteur et Adresse2 ne se suivent pas, et ce vide n'est pas du plus
bel effet. Y a-t-il un moyen de dire à Word qu'en cas d'absence de données
le champ suivant est mis à sa place, et ainsi de suite pour les autres de
façon à combler tout espace vacant?


C'est curieux car c'est précisément ce que fait WD2002 par défaut : il
supprime les lignes des champs vides. Voyez dans la FAQ :
http://faqword.free.fr/articles.php?lng=fr&pgV
(quand elle voudra bien, ce soir ça coince un peu chez Free)

Anacoluthe
« On ne peut remplir que ce qui est vide. »
- Jean-Marie ADIAFFI

Avatar
khinoa
Bonsoir Anacoluthe,

C'est curieux car c'est précisément ce que fait WD2002 par défaut : il
supprime les lignes des champs vides.


Merci pour ton aide. Je vais revoir la FAQ, mais il ne me semble pas avoir
vu parler de cela. J'ai peut-être mal lu. Entretemps j'ai résolu mon
problème de tableau. Maintenant la ligne du bas reste bien à sa place
quelque soit le nombre de champs servis.

J'ai encore un dernier problème que j'avais oublié d'évoquer. J'ai dans
Excel un format de type 123 456 789 12345 soit 3 groupes de 3 chiffres
séparés par un espace et le dernier groupe de 5 chiffres également séparé
par un espace. Je n'ai pas eu de difficulté particulière pour le format en
Excel mais dans Word lorsque le premier chiffre est un zéro il n'est pas
reproduit, ce qui fait que le nombre n'a plus que 14 chiffres au lieu de 15.
Quel type de format dois-je adopter dans le champ de fusion? Suis-je obligé
alors d'utiliser une liaison DDE comme je l'ai lu, et quelle est la
conséquence de cette liaison DDE sur la rapidité d'exécution de la fusion?

D'avance merci pour la réponse

khinoa

Avatar
Anacoluthe
Bonjour !

'khinoa' nous a écrit ...
J'ai encore un dernier problème que j'avais oublié d'évoquer. J'ai dans
Excel un format de type 123 456 789 12345 soit 3 groupes de 3 chiffres
séparés par un espace et le dernier groupe de 5 chiffres également séparé
par un espace. Je n'ai pas eu de difficulté particulière pour le format en
Excel mais dans Word lorsque le premier chiffre est un zéro il n'est pas
reproduit, ce qui fait que le nombre n'a plus que 14 chiffres au lieu de 15.
Quel type de format dois-je adopter dans le champ de fusion? Suis-je obligé
alors d'utiliser une liaison DDE comme je l'ai lu, et quelle est la
conséquence de cette liaison DDE sur la rapidité d'exécution de la fusion?


Ajoutez un commutateur de format numérique dans votre champ de fusion :
{ MERGEFIELD Chiffre # "000 000 000 00000" }
(L'ancien DDE n'est en principe pas requis pour ça)

Anacoluthe
« La forme n'est souvent qu'une mise en scène qui déforme. »
- Paul LEAUTAUD

Avatar
khinoa
Rebonsoir Anacoluthe,

J'ai compris comment Word 2002 supprimait les champs libres, il fallait
impérativement que la ligne soit vide, or à côté de mes champs il y avait du
texte sur le bord gauche de la feuille. Donc Word ne supprimait pas les
lignes des champs vides qui comprenaitent du texte à gauche (sur la même
ligne). J'ai compris comment il fonctionne. Toutefois pour le format
personnalisé il fallait comprendre 3 x 3 = 9 chiffres + 5 = 14 et non 15.

Ajoutez un commutateur de format numérique dans votre champ de fusion :
{ MERGEFIELD Chiffre # "000 000 000 00000" }


Votre (je n'ose pas plus dire "ton") format fonctionne à merveille.

Merci d'avance

khinoa

PS : Le champ suivant { MERGEFIELD Période @ "MMMM yyyy" } m'affiche le
mois sous forme de nom mais impossible de le mettre en majuscules avec le
commutateur * Majuscule. J'ai écrit { MERGEFIELD Période @ "MMMM yyyy" *
Majuscule }

J'obtiens le message d'erreur : "Erreur ! Argument de commutateur inconnu".
Avez-vous une idée? Problème d'espace ou mauvaise position du commutateur
dans le champ?

Avatar
Anacoluthe
Bonjour !

'khinoa' nous a écrit ...
PS : Le champ suivant { MERGEFIELD Période @ "MMMM yyyy" } m'affiche le
mois sous forme de nom mais impossible de le mettre en majuscules avec le
commutateur * Majuscule. J'ai écrit { MERGEFIELD Période @ "MMMM yyyy" *
Majuscule }


Depuis WD2000 les codes des champs sont en angliche !
Les commutateurs pour mettre en majuscules sont
* Upper Tout en majuscules
* Caps La première lettre de chaque mot
* FirstCap La première lettre du premier mot

En principe l'ajout d'un de ces commutateurs devrait faire l'affaire
mais si vous voulez mettre mercredi en minuscule et MAI en majuscule
il faudra alors 2 champs date formatés :
{ maDate @ "dddd d"} { maDate @ "MMMM yyyy" * Upper }

Anacoluthe
« On n'accomplira des progrès qu'en passant
par des pensées minuscules et non plus majuscules. »
- Pascal ENGEL

Avatar
khinoa
Bonjour Anacoluthe,

Depuis WD2000 les codes des champs sont en angliche !
Les commutateurs pour mettre en majuscules sont
* Upper Tout en majuscules
* Caps La première lettre de chaque mot
* FirstCap La première lettre du premier mot


Moi qui programme si souvent Excel je n'ai pas pensé à le dire en anglais.
Un comble! Mais je sais pourquoi. Dans l'aide en ligne de Word 2002 à la
rubrique Commutateur de champ de mise en forme tous mes commutateurs étaient
écrits en français, je me suis donc laissé abusé. Il était écrit le champ
{QUOTE "word" *Majuscule } affiche "WORD".

Une précision : Faut-il un espace entre le dernier caractère d'un champ et
l'accolade } ?

Dans ma lettre-type il me faut entrer des données avant de lancer
l'impression. Apparemment Word ne prévoit pas de boîte de confirmation de la
saisie dans l'invite FILLIN au risque de lancer une impression avec des
dates erronées. Comment peut-on faire pour afficher une confirmation de la
saisie? Je suppose en programmation. Mais alors comment dire Confirmez-vous
la valeur "machin", si oui démarrage de la fusion, sinon recommencez ou
abandonnez? En un mot y a-t-il des boîtes de dialogues simples comme les
InputBox d'Excel? Sinon un bout de code m'aiderait.

D'avance merci pour votre aide efficace et beaucoup appréciée

Khinoa


PS : Merci d'avoir par anticipation répondu à une question (deux champs
dates différents) que je n'aurai pas tardé à me poser. Mais y a-t-il
véritablement un espace entre les deux accolades du milieu } { ?

mais si vous voulez mettre mercredi en minuscule et MAI en majuscule
il faudra alors 2 champs date formatés :
{ maDate @ "dddd d"} { maDate @ "MMMM yyyy" * Upper }


Avatar
Anacoluthe
Bonjour !

'khinoa' nous a écrit ...
Une précision : Faut-il un espace entre le dernier caractère d'un champ et
l'accolade } ?


Assez souvent car l'espace sert de séparateur par défaut dans les champs

Dans ma lettre-type il me faut entrer des données avant de lancer
l'impression. Apparemment Word ne prévoit pas de boîte de confirmation de la
saisie dans l'invite FILLIN au risque de lancer une impression avec des
dates erronées. Comment peut-on faire pour afficher une confirmation de la
saisie? Je suppose en programmation. Mais alors comment dire Confirmez-vous
la valeur "machin", si oui démarrage de la fusion, sinon recommencez ou
abandonnez? En un mot y a-t-il des boîtes de dialogues simples comme les
InputBox d'Excel? Sinon un bout de code m'aiderait.


Il n'y a aucune différence entre Word et Excel sur InputBox

PS : Merci d'avoir par anticipation répondu à une question (deux champs
dates différents) que je n'aurai pas tardé à me poser. Mais y a-t-il
véritablement un espace entre les deux accolades du milieu } { ?
{ maDate @ "dddd d"} { maDate @ "MMMM yyyy" * Upper }


Oui sinon ça fait 'jeudi 19MAI 2005' au lieu de 'jeudi 19 MAI 2005' !!

Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE

Avatar
khinoa
Bonjour Anacoluthe,

Merci pour toutes ces précisions utiles.

Au revoir

khinoa