begin process at 2012 02 16 13:18:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > CREER CODE BARRE (GENCOD EAN13)

CREER CODE BARRE (GENCOD EAN13)


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :141 808 / 8 615

Auteur : neodante

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (41)
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 !  

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture 3D SANS DLL NI OCX -&GT; 3D CALCULÉE (3D PARTIE 2 -&GT; TRI)
Source avec Zip Source avec une capture CHANGER PAPIER PEINT (REPONSE FORUM)
Source avec Zip Source avec une capture 3D SANS DLL NI OCX -&GT; 3D CALCULÉE (3D PARTIE 1 -&GT; DÉBU...
Source avec Zip LOGICEL DE MESSAGERIE (ENVOI + RÉCEPTION)
Source avec Zip Source avec une capture CONTROLE OCX OPENGL

 Sources de la même categorie

Source avec Zip TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
SOUS-TITRES : INCRÉMENTATION DE TOUTES LES CHAÎNES DE CARACT... par ALMIRA
Source avec Zip Source avec une capture EVALUER UN NOMBRE D'OBJETS AVEC UNE BALANCE ET DEUX ÉCHANTIL... par lexsty
Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo

 Sources en rapport avec celle ci

CALCUL DE CONFORMITÉ CLÉ EAN13 par crazygun
Source avec Zip Source avec une capture GÉNÉRATEUR DE CODES À BARRES (EAN8, CODE 39 (+EXTENDED), EAN... par Renfield
Source avec Zip Source avec une capture Source .NET (Dotnet) CREER, IMPRIMER, LIRE UN CODE-BARRES A L'AIDE DE LA SOURIS par dheroux
Source avec Zip Source avec une capture Source .NET (Dotnet) CODE-BARRE EAN-13 par Blodox
Source avec Zip CODE BARRE CODE39, EAN13, 2/5I par deuss33

Commentaires et avis

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.

Commentaire de dluks le 16/08/2003 15:28:38

Ce un code magnifique

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

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

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

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 !

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 ?

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) ...
@+

Commentaire de david96 le 15/01/2004 00:18:17

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

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
@+

Commentaire de david96 le 15/01/2004 22:31:04

Merci beaucoup :-D

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...

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 !!!!

Commentaire de racattac13 le 21/08/2004 11:29:54

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

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

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 ...

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 ?

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 !

@+

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,

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

++

Commentaire de argentan61 le 29/01/2006 21:11:36

Meme probleme que HAABAL

Comment Faire?

Merci

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

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

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 ... ;-)

++

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.

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...

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

Commentaire de neodante le 22/07/2006 15:17:14 administrateur CS

Non l'appli est seulement faite pour les EAN 13

Désolé

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

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é

++

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

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!

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 !

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

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.








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.

Commentaire de jpfbio le 04/07/2008 09:10:21

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

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.

Commentaire de belsugar le 07/09/2008 00:48:58

bonsoir

j'ai essayé, mais je n'y arrive pas il faut dire que je n'ai pas votre talent.
déjà quand j'extrait le zip j'ai un message qui me demande un mot de passe.
après j'ai bien essayé de copier la macro compléméntaire mais elle ne va pas dans excel, elle reste dans mes documents.
j'ai bien compris avec l'exemple ce que faisait la formule transbar, mais si je change le code numérique( que je laisse bien en formt texte) soit cela ne m'affiche plus rien , soit un bout de chiffre enfin rien qui correspondant à un code barre correct. je crois que j'ai besoin d' une aide plus détaillée et pas trop en langage informatique je suis plutot dans la partie chiffre;
merci pour l'aide que vous voudrez bien m'apporter.

Commentaire de commedia le 28/08/2009 20:51:21

Salut à tous, le code est simple mais il donne de mauvaises informations! La clé qu'il donne est fausse! De plus la fonction ne fait pas la différence entre une série de 10,12,13 ou plus de chiffres et donne quand même une clé! Sans compter qu'il ne gère pas les premiers 0.
Allez ici ( http://www.leradin.com ) c'est payant mais efficace (formule dans Excel pour vos tableaux). Mais bravo quand même à vous qui avez bossé dessus.
Lionel

Commentaire de corde12002 le 19/02/2010 16:07:39

bonjour,

je désire garder uniquement le nombre du code barre afin de l'intégrer dans mon ERP
Comment faire?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Generer un code barre d'un EAN13 sous Access [ par EulCed ] Bonjour,Je suis a la recherche d'un module pour Access me permettant de mettre en entrée mon ean et d'avoir en sorti le code barre.Merci d'avanceCédri ACCESS 2000 et EAN13 [ par edc ] n'arrive pô à intégrer de code barres EAN13 dans ma base :(need help :/Ed" RECHERCHE FONT EAN13 [ par THP81 ] JE RECHERCHE UNE FONT EAN13 QUI EDITE EN DINAMYQUE LE GENCODE SANS AVOIR A LE CODERMERCI D AVANCETHP81 code barre [ par ostelen__ ] Bonjour, Je d&#233;veloppe actuellement une application utilisant des codes barres en C# WinForm. J'utilise la norme EAN13 pour le codage de mes cod Du code barre EAN13 aux infos du produit [ par jiojioforever ] BOnjour, je viens d'acheter un lecteur de code barre DC200 CCD pour informatiser au mieux une bibliotheque. Je voudrais donc scanner les cdoes barres création d'1 code barre [ par auroma ] Salut à tousJe viens de télécharger  ZIP :: GÉNÉRATEUR DE CODES À BARRES (EAN8, EAN13, EAN13+2 ET EAN13+5) c'est bien, mais  que dois-je faire pour cr Probleme vb2008 egt ado [ par serialv2 ] bonsoir,Dans une appli de Getion d'article j'ai une table avec toutes les infos article,je dois al'aide d'un msi faire l'inventaire de mes article a l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales