Fonctionnalité peu connue et pourtant il est assez simple de les réaliser et ce même dans un publipostage (depuis Word 2013).
Création ponctuelle
On va utiliser le champ DisplayBarcode, champ non affiché dans la liste des champs de Word.
- On commence par le raccourcis clavier CTRL + F9 pour créer un champ vide : { }.
- On saisit DisplayBarcode puis un espace.
- On indique le texte/nombre à coder entre guillemets.
- Les 8 ou 13 chiffres pour un code barre EAN8 ou EAN13.
- Les caractères pour un code barre en Code128.
- Les caractères pour un QR code.
- On indique le type désiré :
- EAN8 : 8 chiffres.
- EAN13 : 13 chiffres.
- CODE128 : 128 caractères au maximum (des lettres ou des chiffres).
- QR : J'ai testé jusqu'à 125 caractères (limite est-elle à 4296 caractères ?Je vous laisse chercher).
Ajouts d'options supplémentaires (facultatives) :
- On indique les couleurs désirées
- \f (forward) suivit du code BVR en hexadécimale de la couleur de premier plan.
- \b (backward) suivit du code BVR en hexadécimale de la couleur d'arrière-plan.
! Code BVR et non RVB ! Penser à intervertir les valeurs Bleu et Rouge
Exemple :
Pour trouver le code d'une couleur, il suffit d'afficher la palette de couleurs (Passer par la couleur de police, de remplissage ou de bordure).
Ici le code affiché est "#00FFFF" correspondant au bleu Cyan (le bleu de l'imprimante).
On voit qu'il est composé de 00 en Rouge, 255 en Vert et 255 en Bleu.
(255 en décimal c'est FF en hexadécimal)
Ici le code RVB du Cyan est donc "00 FF FF".
En BVR c'est "FF FF 00" (on inverse le bleu et le rouge).
Pour les codes barre
- On précise une taille.
- \h taille en TWIPS (1/1440 pouce).
- On ajoute une rotation du code barre.
- \r 0 ( 0°) / 1 (+90°) / 2 (180°) / 3 (-90°)
- On affiche le nombre codé.
- \t
Pour les QR code
- On précise un facteur de mise à l’échelle.
- \s facteur entre 10 et 1 000.
- On indique un niveau de correction d'erreur (redondance).
- \q L (7%) / M (15%) / Q (25%) / H (30%)
Pour afficher le résultat :
- Clic droit sur le champ > Basculer les codes de champs.
- Le raccourci clavier Alt + F9 ! Bascule tous les codes de champ du document !
Exemples
Codes barre
1 - EAN8 avec valeur
2 - EAN13 à 90° avec valeur
3 - Code128 avec valeur
1 > { Displaybarcode "96385074" EAN8 \h 2000 \f 0x00C0FF \b 0x826015 \t }
2 > { Displaybarcode "3299730003000" EAN13 \h 2000 \r 1 \f 0x00C0FF \b 0x826015 \t }
3 > { Displaybarcode "Arnaud" CODE128 \h 2000 \f 0x00C0FF \b 0x826015 \t }
QR code
1 - Correction d'erreur L
2 - Correction d'erreur H
1 > { Displaybarcode " https://1forme.fr" QR \q L \f 0x00C0FF \b 0x826015 }
2 > { Displaybarcode " https://1forme.fr" QR \q H \f 0x00C0FF \b 0x826015 }
Création dans un document de publipostage
On devrait utiliser le champ MergeBarcode. Il est analogue au code de champ DisplayBarcode.
{ MergeBarcode AdresseWeb QR \q L \f 0x00C0FF \b 0x826015 }
On lui fournit directement le nom du champ de fusion (ici "AdresseWeb").
Il semble plus logique de l'utiliser pour un publipostage mais je vous conseille d'utiliser le champ DisplayBarcode à sa place.
{ DisplayBarcode "{ MERGEFIELD AdresseWeb }" QR \q L \f 0x00C0FF \b 0x826015 }
Problème posé par le champ MergeBarcode
- Si certains enregistrements ne fournissent pas de valeurs à MergeBarcode avec le champ utilisé (valeur vide) alors le champ affichera "Le type actuel ne prend pas en charge la longueur des données".
Ce problème peut être géré ainsi avec le champ DisplayBarcode (en passant par l'utilisation d'un champ SI et la définition d'un signet).
{ IF "{ MERGEFIELD AdresseWeb }" = "" "" { SET URL { MERGEFIELD "AdresseWeb" } } }
{ DisplayBarcode "URL" QR \q L \f 0x00C0FF \b 0x826015 }
Merci pour votre attention bienveillante.