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.

Pour les articles homonymes, voir EAN.

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

Exemple d’un ISBN nouvelle version.

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),

  • seules 10 combinaisons sont utilisées pour coder un chiffre ;
  • les motifs ont tous un élément de type A, toujours présent en première position ;
  • si un élément de type B est présent, il y a exactement trois éléments de ce type dans le motif ;
  • les autres combinaisons ne sont pas utilisées.
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) 
"782940-199617"
10101110110001001001101100010110011101000110101010110011011101001110100101000011001101000100101
débuttype Atype Btype Btype Atype Btype Amilieutype Ctype Ctype Ctype Ctype Ctype Cfin

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 les 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 471951200288
Pondérations « p » 131313131313
Résultats « n » × « p » 421127532006824
  1. Pour les poids on alterne les valeurs 1 et 3.
  2. On calcule ensuite la somme des résultats.
  3. 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

Voir aussi

Articles connexes

Liens externes

  • Portail de l’informatique
  • Portail de la production industrielle
  • Portail des transports
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.