EAN 13
Les codes EAN 13 (European Article Numbering à 13 chiffres) sont les codes à barres utilisés dans le monde entier sur l'ensemble des produits de grande consommation (On utilise parfois le code EAN 8 pour les objets de petite taille). Ils comportent 13 chiffres dont la signification varie suivant le type du produit :
- les deux ou trois premiers correspondent au pays de provenance du produit, ou à une classe normalisée de produits ;
- les 4 ou 5 suivants sont le numéro de membre de l’entreprise participant au système EAN ;
- les 4 ou 5 suivants sont le numéro d’article du produit ainsi marqué et
- le treizième est une clé de contrôle calculée en fonction des douze précédents.
La structure exacte des barres d'un code à barres EAN 13 est décrite dans l'article sur les codes à barres EAN.
Livres et publications
Pour les livres, le code à barres EAN 13 reprend la structure de l’ISBN[1] aux tirets près, obligatoires pour les codes ISBN-13 mais non codés dans l'EAN-13.
Pour toutes les publications éditées en 2006 ou antérieures, l'EAN commence par 978, suivi du code ISBN à 9 chiffres (ISBN complet amputé de sa clé de contrôle), et terminé par la clé de contrôle EAN. Cet ISBN est aussi appelé Bookland EAN car son préfixe 978 n'est pas l'indicatif d'un pays, il a été créé pour regrouper tous les livres du monde. Ce pays virtuel est surnommé Bookland (« le pays des livres »)[2].
Depuis janvier 2007, tous les codes ISBN des nouvelles publications sont compatibles avec la normes EAN 13. Les anciens codes sont convertis en utilisant le groupe préfixe 978 (encore utilisé pour la plupart des nouvelles publications), mais certains éditeurs reçoivent des codes ISBN à 13 chiffres dans le groupe 979 (ces codes n’ont pas d’équivalent à 10 chiffres).
Pour les publications en série (périodiques tels que journaux, magazines et bulletins), les éditeurs intègrent leur numéro ISSN normalisé à 8 chiffres dans un code EAN à 13 chiffres, en préfixant le code ISSN à 7 chiffres (donc tronqué de sa clé de contrôle) par un groupe de 3 chiffres 977, suivi de deux chiffres à disposition des éditeurs et utilisés souvent comme code prix ou pour codifier les encarts et compléments attachés à la série, et terminé du chiffre clé de contrôle EAN. Contrairement aux codes ISBN à 10 chiffres, il n’existe pas à l’heure actuelle de norme permettant la conversion automatique des codes ISSN à 8 chiffres en codes EAN à 13 chiffres. Si une telle norme est adoptée, elle devra utiliser un groupe EAN différent de 977 pour éviter les collisions avec les codes EAN-13 déjà utilisés, ou réguler l’utilisation des deux derniers chiffres précédant le chiffre clé de contrôle EAN.
Le premier chiffre
La particularité des codes EAN 13 est que leur premier chiffre n'est pas codé sous la forme d'un élément EAN, mais par la séquence d'enchaînement des types d'éléments des 6 chiffres qui le suivent.
Les lecteurs de codes barres (qui savent reconnaître si un élément est de type A ou B) déduisent donc la valeur de ce 1er chiffre à partir du motif constitué par les types d'éléments du 2e chiffre au 7e chiffre. Voici le tableau donnant la correspondance entre ce motif et le 1er chiffre :
1er chiffre | Motif | Remarques |
---|---|---|
0 | [AAAAAA] |
Parmi les 64 combinaisons possibles de 6 éléments de type A ou B (avant la zone de garde centrale),
|
1 | [AABABB] | |
2 | [AABBAB] | |
3 | [AABBBA] | |
4 | [ABAABB] | |
5 | [ABBAAB] | |
6 | [ABBBAA] | |
7 | [ABABAB] | |
8 | [ABABBA] | |
9 | [ABBABA] |
Exemple : Prenons l’exemple d'un code à 13 chiffres : 9-782940-199617. Le premier chiffre étant un 9, la séquence doit donc être : "ABBABA-CCCCCC", soit :
(9) | |||||||||||||||
" | 7 | 8 | 2 | 9 | 4 | 0 | - | 1 | 9 | 9 | 6 | 1 | 7 | " | |
101 | 0111011 | 0001001 | 0011011 | 0001011 | 0011101 | 0001101 | 01010 | 1100110 | 1110100 | 1110100 | 1010000 | 1100110 | 1000100 | 101 | |
début | type A | type B | type B | type A | type B | type A | milieu | type C | type C | type C | type C | type C | type C | fin |
Calcul de la clé de contrôle EAN 13
Le dernier chiffre d'un code EAN 13 est toujours une clé de contrôle (check digit). Le principe est le même qu'une formule de Luhn, excepté que les rangs pairs sont multipliés par trois et non par deux. Elle est calculée à partir des douze premiers chiffres[3]selon l'algorithme suivant :
- Calculer trois fois la somme des chiffres de rang pair (en partant du second) de gauche Ă droite ;
- calculer la somme des chiffres de rang impair (en partant du premier) de gauche Ă droite ;
- totaliser ces deux sommes partielles ;
- prendre le chiffre des unités de ce total, R ;
- clé = reste de la division par 10 de 10- R.
Par exemple, le calcul de la clé de contrôle du code EAN 13 dont les 12 premiers chiffres sont 471-9-5120-0288-x (où x est la clé de contrôle que l’on cherche), résulte du tableau suivant[4] :
Chiffres « n » du code à barres | 4 | 7 | 1 | 9 | 5 | 1 | 2 | 0 | 0 | 2 | 8 | 8 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Pondérations « p » | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
Résultats « n » × « p » | 4 | 21 | 1 | 27 | 5 | 3 | 2 | 0 | 0 | 6 | 8 | 24 |
- Pour les poids on alterne les valeurs 1 et 3.
- On calcule ensuite la somme des résultats.
- On calcule le reste de la division par 10 de la somme précédemment calculée :
- si le reste de la division est égal à 0, alors la clé est 0,
- sinon, on ôte à 10 le reste ainsi trouvé : Clé = 10 - Reste.
La somme vaut dans cet exemple 4+21+1+27+5+3+2+0+0+6+8+24 = 101, le reste de la division par 10 est 1 ; la clé vaut donc 10-1 = 9. Le code EAN 13 complet est 471-9-5120-0288-9
Sous un tableur si la cellule A1 contient les 12 chiffres du code EAN-13 ou l'intégralité des 13 chiffres du code EAN-13, il est possible de calculer la clé de contrôle à l'aide de la formule suivante :
=MOD(10-MOD((STXT(A1;1;1)*1+STXT(A1;2;1)*3+STXT(A1;3;1)*1+STXT(A1;4;1)*3+STXT(A1;5;1)*1+STXT(A1;6;1)*3+STXT(A1;7;1)*1+STXT(A1;8;1)*3+STXT(A1;9;1)*1+STXT(A1;10;1)*3+STXT(A1;11;1)*1+STXT(A1;12;1)*3);10);10)
ou par la formule factorisée suivante :
=MOD(10-MOD(SOMMEPROD((1+EST.PAIR(LIGNE($1:$12))*2)*STXT(A1;LIGNE($1:$12);1));10);10)
Sur Excel en particulier, elle peut s'obtenir au moyen d'une fonction personnalisée :
Function KeyEAN13(EAN12$)
If Not EAN12 Like "############" Then KeyEAN13 = CVErr(2015): Exit Function
For i = 1 To Len(EAN12)
s = s + Mid(EAN12, i, 1) * (1 + (1 - i Mod 2) * 2)
Next i
If s Mod 10 = 0 Then
KeyEAN13 = 0
Else
KeyEAN13 = 10 - s Mod 10
End If
End Function
Ă utiliser ainsi sur une cellule quelconque :
=KeyEAN13(A1)
Notes et références
- « Intégration ou conversion des anciens codes ISBN à 10 chiffres ou des codes ISSN à 8 chiffres dans un code EAN à 13 chiffres », Gomaro (consulté le )
- Self-Publishing Basics: Deciphering the Bookland EAN Bar Code - The Book Designer
- « multilingualarchive.com/ma/enw… »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?).
- « Logiciel en ligne permettant le calcul du Check Digit de différentes symbologies », Gomaro (consulté le )
Voir aussi
Articles connexes
Liens externes
- POD : Projet Open Data visant à créer un référentiel public à échelle mondiale basé sur le code EAN
- Générateur en ligne gratuit de code barre ean13
- Générateur de codes-barres EAN13 et UPC en ligne gratuit
- Générateur de code barre EAN13 format vectoriel sur la base d'un ISBN [PDF] (gratuit)
- « Générateur de codes-barres EAN 13 en ligne », Gomaro (consulté le )
- Polices et générateurs de code-barres (sous GPL)
- Police ean13.ttf