Format Date dans un publipostage

exene

XLDnaute Accro
Bonjour,

J'utilise rarement Word (je lui préfère Writer suffisant pour moi). J'ai un problème avec le format des dates après la fusion (format américain) .Je sais que le sujet a souvent été abordé et qu'il faut modifier la requête avec MERGEFIELD Date \@ dd/MM/yy mais je n'arrive pas à trouver l'endroit où je dois faire la modification.

Ci-joint le document avant fusion ainsi que le fichier excel sans lequel le word est illisible.
 

Pièces jointes

  • PLANNING DES VISITES MEDICALES.docx
    15.1 KB · Affichages: 135
  • Publipostage.xlsx
    9.3 KB · Affichages: 128
  • Publipostage.xlsx
    9.3 KB · Affichages: 151
  • Publipostage.xlsx
    9.3 KB · Affichages: 149
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Format Date dans un publipostage

Salut à vous deux ... et puis tous les autres :)

Dans le document Word de Pascal, seul les deux premiers champs sont des champs de fusion "normaux" (et se présenteront donc sous la forme de MERGEFIELD) ... mais ce ne sont pas des dates.

Dans le tableau où figurent les dates, ça ressemble plus à une requête SQL :confused: En ce qui me concerne, je ne sais pas comment modifier le format à ce niveau.
La question subsidiaire étant: si le document (ici en Word) est aussi "basique" au niveau de la mise en page, on ne peut pas le faire directement en Excel, pour ne pas se compliquer la vie :D ??
 

Dugenou

XLDnaute Barbatruc
Re : Format Date dans un publipostage

Re,
j'avoue ne pas connaitre ce fonctionnement et ne pas avoir pu corriger directement le code de champ même s'il semble que cette possibilité existe avec clic droit modification du champ puis en bas modification du champ et options : on a un /b qui permet de spécifier quels attributs de la mise en forme définie par le commutateur /l doivent être appliqués.
J'ai trouvé plus simple d'ajouter dans le fichier excel une colonne date_texte au format texte avec =TEXTE(B2;"jj/mm/aa"). Ensuite modifier la zone nommée BDvisites puis dans le document word modifier le nom du champ à afficher :
DATABASE \d "C:\\Users\\tdrhgf\\Desktop\\Publipostage.xlsx" \c "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\\Users\\tdrhgf\\Desktop\\Publipostage.xlsx;Mode=Read;Extended Properties=\"HDR=YES;IMEX=1;\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False" \s "SELECT `NOM`, `date_texte` FROM `BD_VISITES` WHERE ((`RESPONSABLE` = 'DAGOBERT')) ORDER BY `date_texte`, `NOM`" \h

Cordialement

edit : coucou Modeste : ou inversement mettre les données dans word !
 

Pièces jointes

  • 333889d1430209557-format-date-dans-un-publipostage-planning-des-visites-medicales.docx
    17.1 KB · Affichages: 133
  • Publipostage.xlsx
    9.9 KB · Affichages: 124
  • Publipostage.xlsx
    9.9 KB · Affichages: 141
  • Publipostage.xlsx
    9.9 KB · Affichages: 145

Modeste

XLDnaute Barbatruc
Re : Format Date dans un publipostage

Salut,

exene à dit:
Pour m'obliger à travailler sur WORD
Ça ressemble à une punition ;) Tu aurais dû être plus sage! :D


@Dugenou: quel bel exemple de jusqu'au-boutisme! Je n'ai pas eu le courage de faire ces recherches et ces essais, en me disant qu'un autre solution, plus simple, devait exister :eek:.
Seul bémol: le ORDER BY ne donne pas le résultat escompté, puisque les dates sont devenues du texte (mais je pressens que tu vas nous dire qu'en nommant la plage des "vraies" dates, on peut utiliser celle-ci pour le tri :))

Bonne journée à tout le monde
 

chris

XLDnaute Barbatruc
Re : Format Date dans un publipostage

Bonjour à tous

...j'avoue ne pas connaitre ce fonctionnement et ne pas avoir pu corriger directement le code de champ...

Comme tu l'as vu c'est juste un champ, de type DATABASE.

Quand il y a peu de lignes, 6, 8 au maximum, je préfère imbriquer des SI : on garde la souplesse de la disposition et des commutateurs.

Sinon le plus simple est de dupliquer le champ date avec une fonction TEXTE dans Excel (avec un format jj/mm/aaaa) et utiliser ce champ pour le publipostage.
 

swissboy

XLDnaute Nouveau
Re : Format Date dans un publipostage

Bonjour,

Avec un champ Database, le format de la date se définit dans la requête SQL.

Essaie donc avec ça :
"SELECT `NOM`, FORMAT(`DATE`,'dd.MM.yyyy') FROM `BD_VISITES` WHERE ((`RESPONSABLE` = 'DAGOBERT')) ORDER BY `DATE`, `NOM`"

Bonne journée !
swissboy
 

baby972

XLDnaute Nouveau
Re : Format Date dans un publipostage

Bonjour,

Avec un champ Database, le format de la date se définit dans la requête SQL.

Essaie donc avec ça :
"SELECT `NOM`, FORMAT(`DATE`,'dd.MM.yyyy') FROM `BD_VISITES` WHERE ((`RESPONSABLE` = 'DAGOBERT')) ORDER BY `DATE`, `NOM`"

Bonne journée !
swissboy
Bonjour,
Cette solution fonctionne, pour mon cas il remplace le nom du champ de type date par "Expr1000" Comment garder le bon nom de champ en affichage svp .
 

Discussions similaires

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 377
dernier inscrit
fredy45