begin process at 2008 07 06 18:14:11
1 205 686 membres
251 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CREER CODE BARRE (GENCOD EAN13)


Information sur la source

Catégorie :Divers Classé sous : gencod, ean13 Niveau : Débutant Date de création : 16/08/2003 Date de mise à jour : 17/08/2003 15:12:14 Vu / téléchargé: 73 349 / 5 946

Note :
7,91 / 10 - par 11 personnes
7,91 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (38)
Ajouter un commentaire et/ou une note


Description

Ce petit outil permet de créer des codes barre de type EAN13 utilisé par les grandes surfaces pour identifier les produits. En plus une macro complémentaire Excel et un fichier exemple sont incluent afin de faire la mise en forme plus simplement. Aussi il vous faudra installer une police spécifique afin d'afficher correctement les codes barre. C'est un petit programme juste pour montrer comment est codé puis vérifié (à l'aide d'une clé de contrôle) un gencod EAN13, donc n'y voyez pas un grand programme super compliqué (hum...commentaires indulgents par conséquence !).
Ah oui cela n'est pas fait pour faire du hacking de supermarché !  

Source

  • 'Voici juste le code permettant de vérifier la clé d'un gencod EAN13 :
  • Public Function Clé(EAN13 As String) As Byte
  • Dim Facteur, i As Integer, Total As Integer
  • EAN13 = Left(Trim(EAN13), 12)
  • Facteur = 3
  • For i = Len(EAN13) To 1 Step -1
  • Total = Total + Mid(EAN13, i, 1) * Facteur
  • Facteur = 4 - Facteur
  • Next i
  • Clé = CStr(10 - IIf(Total Mod 10 <> 0, Total Mod 10, 10))
  • End Function
  • ' TOUT le reste est dans le ZIP
'Voici juste le code permettant de vérifier la clé d'un gencod EAN13 :

Public Function Clé(EAN13 As String) As Byte
    Dim Facteur, i As Integer, Total As Integer
    EAN13 = Left(Trim(EAN13), 12)
    Facteur = 3
    For i = Len(EAN13) To 1 Step -1
        Total = Total + Mid(EAN13, i, 1) * Facteur
        Facteur = 4 - Facteur
    Next i
    Clé = CStr(10 - IIf(Total Mod 10 <> 0, Total Mod 10, 10))
End Function

' TOUT le reste est dans le ZIP  

Conclusion

La connaissance appartient à tous !  
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de dragon le 16/08/2003 13:59:14

    la façon la plus simple de faire ça, c'est habituellement les programme pour faire des code bar ont de police qui en fond. c'est tout simplement des polices de caractère.

  • signaler à un administrateur
    Commentaire de dluks le 16/08/2003 15:28:38

    Ce un code magnifique

  • signaler à un administrateur
    Commentaire de menzo le 17/08/2003 11:34:14

    heu pardon mias comment ca fonctionne ce programme... et si on sais vrmt faire qq'ch avec ?? merci

  • signaler à un administrateur
    Commentaire de neodante le 17/08/2003 13:23:18 administrateur CS

    Le programme est à la base ici pour montrer comment est constitué un code barre !! La source est livré avec une macro Excel (vraiment pas dur de savoir comment ça marche !) qui permet de réaliser des planches complètes de code barres !!! (à condition de mettre la bonne police -&gt;dans le ZIP dans les cellules et d'appeler la fonction Transbar )! Et là oui on peut faire vraiment tous les codes barre que l'on veut (et ne plus ça marche en magasin !!!)

  • signaler à un administrateur
    Commentaire de fuga le 17/08/2003 14:47:26

    ok mais on doit mettre quoi et ou?? par exemple ?? et c comment le language ean13?? c avec la nouvelle ecriture ?? ok mais alors on fais quoi ?  enfin disez quoi qu'on doit faire svp ..

                                                                                Fuga

  • signaler à un administrateur
    Commentaire de neodante le 17/08/2003 14:56:37 administrateur CS

    En fait mon programme traduit les chiffres en caractères utilisable par une police de caractères qui affiche le code barre. Donc si vous voulez mettre cela dans un de vos programmes, il vous suffit de changer la police de vos textbox avec celle qui est fournit dans le ZIP et d'utiliser les algorithmes de mon programme pour traduite votre numéro de 13 chiffres en code barre.
    Je vais mettre à jour le ZIP avec un fichier Excel exemple pour ceux qui veulent utiliser ça avec Excel -&gt; pour imprimer c'est quand même plus pratique !

  • signaler à un administrateur
    Commentaire de david96 le 14/01/2004 17:41:24

    Super !
    Heu... par contre comment je fait pour créer mon code barre, pour vendre mes CD audio que j'ai fait en studio ?

  • signaler à un administrateur
    Commentaire de neodante le 14/01/2004 19:13:42 administrateur CS

    Pour que ton code barre soit unique et normalisé, il faut que tu contact l'organisme qui centralise tous les référencements ... mais je ne me rappel plus trop du nom : google est mon ami (ma nouvelle devise! lol) ...
    @+

  • signaler à un administrateur
    Commentaire de david96 le 15/01/2004 00:18:17

    Et bha j'ai pas trouvé (Google ne m'aime pas) :-(

  • signaler à un administrateur
    Commentaire de neodante le 15/01/2004 14:33:50 administrateur CS

    Google est le mien : 1er lien de la 1ère page !
    www.eannet-france.org
    @+

  • signaler à un administrateur
    Commentaire de david96 le 15/01/2004 22:31:04

    Merci beaucoup :-D

  • signaler à un administrateur
    Commentaire de cmaboitemail le 03/02/2004 11:50:52

    Est-ce qu'il est possible de créer des EAN 8 à partir ce code qui fonctionne d'ailleurs très bien pour les EAN 13 ?
    Merci d'avance de m'éclairer sur ce point...

  • signaler à un administrateur
    Commentaire de bigsam le 26/02/2004 08:58:21

    Merci 1000 fois  . Jutilise les code barre tous les jours profesionnellement, les taper est un peux fastidieux , aujourdh'ui grace a ton programme et a la lecture optique  c'est devenu du billard . bravo  Champion !!!!

  • signaler à un administrateur
    Commentaire de racattac13 le 21/08/2004 11:29:54

    ouais youpi on va payer moins chere les courses au supermarché
    je rigole...

  • signaler à un administrateur
    Commentaire de skaade le 18/12/2004 04:17:00

    Bjr,

    quelqu'un pourrait il me dire comment insérer ce programme EAN13Encoder dans Excel pour pouvoir générer des codes au kilomètre ? est ce possible d'ailleurs ???

    Merci d'avance pour toute réponse !!

    C'est urgent ;o)

    Skaade

  • signaler à un administrateur
    Commentaire de neodante le 18/12/2004 18:13:22 administrateur CS

    Bonjour,
    comme dit dans la description de la source, le ZIP contient une macro Excel afin d'automatiser le processus. Le répertoire 'Macro Excel' contient la macro complémentaire et une exemple d'utilisation. Une fois la macro installé dans Excel (faire Outils/Macro complémentaire puis Parcourir pour installer la macro), il suffit d'appeller la méthode comme dans l'exemple ...

  • signaler à un administrateur
    Commentaire de cuq le 14/03/2005 14:31:43

    Bonjour J'ai une petite question sur les codes barres :

    Pour relire le code barre la douchette suffit-elle ou faut il rajouter un soft spécial ? comment l'intégrée dans une application VB ?

    Sinon le site est super pour l'explication des différents codes ?

  • signaler à un administrateur
    Commentaire de neodante le 14/03/2005 22:12:13 administrateur CS

    Le but de l'EAN est de donner un moyen standard et très fiable de lire des codes donc n'importe quel appareil sachant lire les EAN13 marche très bien !

    @+

  • signaler à un administrateur
    Commentaire de haabal le 22/01/2006 23:03:41

    Bonjour,
    je découvre les macros sur excel. donc soyez indulgent avec un débutant SVP !
    je cherche à imprimer des étiquettes produits avec ean13.
    J'ai installé la police dans windows/font
    J'ai placé la macro dans macro complémentaire
    J'ai ouvert l'exemple et vu la méthode d'appel de la fonction transbar.
    Mais j'ai un message d'erreur : 1) excel me demande si je veux mettre à jour les liaisons avec un autre classeur. je dis oui. il me répond Excel n'arrive pas à trouver transbar sur ean13.xla et que cela peut provenir de deux choses : soit que le nom n'est pas défini, soit que le nom ne se rapporte pas à une zone rectangulaire de cellule.
    Comment puis je définir transbar ? Ai-je zappé une étape ?
    Merci de votre aide,

  • signaler à un administrateur
    Commentaire de neodante le 22/01/2006 23:07:32 administrateur CS

    Arf mes compétences en Excel ne sont plus ce qu'elles étaient et je ne sais pas comment résoudre votre problème. La solution doit être simple mais je ne l'ai pas ! désolé :s

    ++

  • signaler à un administrateur
    Commentaire de argentan61 le 29/01/2006 21:11:36

    Meme probleme que HAABAL

    Comment Faire?

    Merci

  • signaler à un administrateur
    Commentaire de tony2madinina le 01/02/2006 10:57:01

    Bonjour
    sous excel tout va bien mais je voudrais traduire ce code pour qu'il puissent fonctionner sous access.
    si quelqu'un pouvait me donner un coup de main....
    Merci d'avance

  • signaler à un administrateur
    Commentaire de barchil le 01/04/2006 20:33:42


    en premier MERCI pour cette merveille que je trouve tres utile
    pour excel le truc est de demarrer en premier la macro et ensuite ouvrir le classeur

    ma question est que j'ai essayé de travailler avec une autre fontes de ean13 mais ça donne pas la même chose
    ma deuxieme question est ce que la fonte qui accounpagne ton zip est libre de droit
    Merci infiniment

  • signaler à un administrateur
    Commentaire de neodante le 02/04/2006 10:40:49 administrateur CS

    Salut,
    Pour ce qui est de travailler avec une autre fonte, je n'ai jamais essayé et si elle te donne d'autres résultats cela est normal puisque le code est spécialement fait pour la police donné avec.

    Ensuite concernant la police, à savoir si elle est libre de droit, je n'en sais rien du tout ! Je l'avais utilisé à l'époque quand je travaillais chez un grand distributeur et on me l'avais donné tel quel à utiliser. Mais je doute que celle-ci soit réellement libre de droit ! :( Pour adapter le code à une autre police il suffit de changer la sortie en trouvant la correspondanec, c'est pas bien compliqué mais ça prend un petit peu de temps ... ;-)

    ++

  • signaler à un administrateur
    Commentaire de ypotier le 07/04/2006 16:47:21

    Bravo pour cette macro, très simple d'emploi pour moi qui ne connait rien au développement. Elle permet aussi le calcul de la clef d'un nombre de 12 caractères en mettant simplement la valeur "x" en 13ème position.

  • signaler à un administrateur
    Commentaire de josh666 le 31/05/2006 20:41:12

    Pense-tu que c'est possible de faire ce code en php pour une application Web ?

    J'ai pensé a utilisé la librairie GD...

  • signaler à un administrateur
    Commentaire de celineman le 22/07/2006 14:03:39

    Salut ton programme est génial cela fait un moment que je cherchais une solution, grâce à toi je l'ai.
    Par contre est t'il possible de faire la même chose avec des ean de taille inférieur ex: des ean 8

  • signaler à un administrateur
    Commentaire de neodante le 22/07/2006 15:17:14 administrateur CS

    Non l'appli est seulement faite pour les EAN 13

    Désolé

  • signaler à un administrateur
    Commentaire de dadou19 le 25/09/2006 09:07:01

    Salut,
    Ton code est vraiment excellent,

    je l'utilise pour m'aider à baliser mon inventaire

    Par contre j'ai un problème, il semblerait qu'il ne génère pas du tout les codes barres commençant par 0 ce qui n'est pas courant, mais qui existent quand même

    Si tu as une solution, je suis preneur...
    Slts,

    Dadou19

  • signaler à un administrateur
    Commentaire de neodante le 26/09/2006 09:21:55 administrateur CS

    Arf je n'ai pas de solution pour cela :( Si quelqu'un trouve une solution, je me ferais un plaisir de la mettre en ligne en son nom !

    Désolé

    ++

  • signaler à un administrateur
    Commentaire de dadou19 le 04/10/2006 16:32:42

    Hello

    c'est bon, il vaut mieux utiliser le code de grand Zebu
    car il passe par le format texte = 'XXXXXXXXXXXXX
    donc on voit les 0

    mais bon dans excel je recupère les gencod tels quels
    il me fallait les transformer pour pouvoir toujours les afficher en code barre donc par exemple le gencod 0000000000154

    dans excel = 154

    formule : si gencod dans A1 :

    =ean13(GAUCHE(DROITE("'00000000000"&A1;13);12))
    en mettant bien la police de grand ZEBU sur la cellule résultat

    on a toujours le code barre même pour nombre < 13 chiffres
    (on force à mettre les 0 en concaténant la chaine et en tronquant le tout pour finir pile à 13 chiffres ;o)

    Voilou

    merci donc à Grand ZEBU et toi ;o)

    Bye

  • signaler à un administrateur
    Commentaire de ulyparis le 06/10/2006 17:08:13

    Est-ce que quelqu'un a un programme qui fait le contraire, qui part du code barre (voici son équivalent en arial :

    y(7IC8E8*NNLRPL(

    et qui donne les 13 chiffres?

    merci à l'avance!

  • signaler à un administrateur
    Commentaire de fanafancastries le 13/11/2006 18:22:50

    Je me suis servie de ta macro un fois déjà et ça a super bien marché, mais aujourd'hui, quand j'ouvre le fichier ou il y a les codes barres pour en crere de nouveaux (nouveaux produits)je n'arrive plus à la faire marcher il semble qu'il y ait un problème de nom....au secourd, je craque, ça fait 2 heures que je suis dessus !

  • signaler à un administrateur
    Commentaire de CATHOU29 le 22/01/2007 16:00:06

    bonjour

    ben j'ai pas réussi a lire la macro excel
    je crois que y'a un bug dans le programme

  • signaler à un administrateur
    Commentaire de anahadak le 03/04/2008 14:08:29

    merci neodante pour le code c vraiment trés utile et pour le completer je vous propose deux choses:
    1) ajouter un controle de saisie au niveau du textbox txtEncodeEAN13 pour que l'utilisateur ne puisse pas entrer des caracteres.
    2)une fonction qui permet d'envoyer le code barre generer sous vb dans te textbox txtEAN13 à un fichier exel et faire une aperçu avant impression.

    bon j'ai travaillé sur votre code et j'ai pu ajouter ces deux contraites voila la source:

    Private Sub txtEncodeEAN13_KeyPress(KeyAscii As Integer)
    If Not Controler_KeyPress_Ok(KeyAscii, txtEncodeEAN13, True, True) Then KeyAscii = 0
                                                  '    |     |
                                                  '    |      > indique que l'on veut saisir que des entiers
                                                  '     > indique que l'on veut saisir que des nombres positifs
    End Sub

    ensuite ajouter la fonction Controler_KeyPress_Ok dans un module:

    Public Function Controler_KeyPress_Ok(ByVal KeyAscii As Integer, ByVal Txtbox As TextBox, ByVal Est_Positif As Boolean, ByVal Est_Entier As Boolean) As Boolean
       Select Case KeyAscii
          ' 48 to 57 => 0 à 9 ;  8 => Backspace ;  13 => Enter ; 3 => Ctrl+C (copier) ; 22 => Ctrl+V (coller) ; 24 => Ctrl+X (couper)
          Case 48 To 57, 8, 13, 3, 22, 24:
             Controler_KeyPress_Ok = True
          
          ' 44 => , (virgule) ;  46  => . (point)
          Case 44, 46:
             If Est_Entier Then    ' si c'est un entier...
                Controler_KeyPress_Ok = False  ' ... on annule la virgule ou le point
             Else                  ' sinon...
                Controler_KeyPress_Ok = InStr(Txtbox.Text, ".") = 0 And InStr(Txtbox.Text, ",") = 0   ' ... on annule la virgule ou le point seulement si le caractere est deja present dans le texte
             End If
          
          ' 45 => - (signe moins)
          Case 45:
             If Est_Positif Then  ' si c'est un positif...
                Controler_KeyPress_Ok = False                 ' ... on annule le signe moins
             Else                 ' sinon...
                Controler_KeyPress_Ok = InStr(Txtbox.Text, "-") = 0 And Txtbox.SelStart = 0 ' ... on annule le signe moins seulement si il est deja present dans le texte et s'il n'est pas le premier caractere du texte
             End If
          
          ' caracteres non valides
          Case Else:
             Controler_KeyPress_Ok = False
       End Select

      
       ' Si caractere valide et si on permet des nombres negatifs ...
       If Controler_KeyPress_Ok And Not Est_Positif Then
          '... alors on annule le caractere s'il est placé devant un signe moins
          If Txtbox.SelStart = 0 And InStr(Txtbox.Text, "-") Then Controler_KeyPress_Ok = False
       End If
    End Function

    et pour le 2éme point voila le code qui permet de faire appel à une feuil d'un classeur exel et faire une aperçcu anant impression du code barre.

    1: ajouter un boutton de commande nomé aperçu:
    2: coller le code

    Private Sub aperçu_Click()
    Dim oExcel As Excel.Application
        Dim oWk As Workbook
        Dim sh
        Set oExcel = CreateObject("Excel.Application")
        oExcel.Visible = True 'Masque l'application excel (valeur par défaut)
        On Error Resume Next 'Pour éviter les erreur si classeur n'existe pas
        Set oWk = oExcel.Workbooks.Open(App.Path & "\Classeur1.xls")
        oWk.Sheets("Feuil1").Range("A2") = Transbar(txtEncodeEAN13)
        For Each sh In ActiveWindow.SelectedSheets
        sh.PrintPreview
        Next
        On Error GoTo 0
       If oWk Is Nothing Then
          MsgBox "Erreur sur ouverture classeur", vbCritical
          Exit Sub
        End If
    end sub

    3: ajouter un classeur nomé Classeur1.xls dans le dossier EAN13
    4: changer la police de la colnne A  2emme ligne il faut mettre la police EanT30Rfz
    et n'oublier pas d'ajouter la réference microsof exel objet library dans votre projet.

    bonne chance.








  • signaler à un administrateur
    Commentaire de Safespam le 18/06/2008 11:12:43

    Bonjour,

    Merci beaucoup pour cette solution qui semble vraiment simple à mettre en oeuvre, même pour le néophyte complet que je suis. Je me trouve néanmoins dans l'impossibilité d'utiliser ta macro.

    Tel que décrit ci-dessus, j'ai bien fait /Macro complémentaire/parcourir/ean13.xla et Excel ne m'a rien signaler de spécial (pas de message d'erreur). Je vois bien dans la liste des fonctions apparaître une fonction nommée "=EAN13.xla!Module1.Transbar()" mais qu'excel ne sait pas traiter "impossible de traiter votre question. Soit Excel ne trouve pas de fonctions équivalente soit l'aide n'est pas installée. Cette fonction ne possède pas d'argument".

    Quand j'essaye malgré tout de l'utiliser, Excel me sort un code erreur "#NOM?".

    Je précise que "Ean13" apparait bien dans la liste des macroc complémentaires et que sa case est cochée.

    Je ne voit pas trop quoi faire de plus. Si qqu'un a une idée.

    Pour info : j'ai besoin de générer plus de 50 000 CB par mois depuis une base Excel alors je suis TRES intéressé par cette solution.

    Merci de votre aide et Bravo pour vos contributions.

  • signaler à un administrateur
    Commentaire de jpfbio le 04/07/2008 09:10:21

    Même pb que safespam. J'use mes neurones là... A l'aide !

  • signaler à un administrateur
    Commentaire de jpfbio le 04/07/2008 10:38:44

    J'ai trouvé : tu actives ta macro, et dans la cellule où tu veux que ton code barre apparaisse, tu insères la fonction "transbar".
    Tu inscris alors entre les parenthèses, l'adresse de la cellule origine où est inscrit le code en chiffres.
    Ex : en h4 je tape : =Transbar(H3)
    (h3 désignant la cellule "source")

    Bon, je ne suis pas un spécialiste, j'explique peut-être mal, mais ça a fonctionné. Les codes barres sont lus sans difficulté après impression.

Ajouter un commentaire

Discussions en rapport avec ce code source

Pub



Appels d'offres

WEB DESIGN
Budget : 1 000€
Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS