cs_sephiro
Messages postés101Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention18 février 2008
-
8 mars 2004 à 14:23
cs_gorrion
Messages postés1Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention21 février 2008
-
21 févr. 2008 à 10:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_gorrion
Messages postés1Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention21 février 2008 21 févr. 2008 à 10:04
Bonjour,
merci pour cette fonte libre ean13 que nous utilisons depuis 2 ans dans le cadre d'une activité de libraire !
Juste une remarque: nous n'avons jamais réussi à la faire fonctionner avec Firefox sous XP, si quelqu'un connaît la solution...
grandzebu
Messages postés27Date d'inscriptionvendredi 22 août 2003StatutMembreDernière intervention23 décembre 2017 22 janv. 2008 à 19:50
Y'a pas de ieframe.dll !!!!
En lisant un code barre on obtient le numéro qui est en dessous, ni plus ni moins ...
GZ
basamir
Messages postés335Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention 8 mars 2008 21 janv. 2008 à 22:53
ça marche merci, mais lors du chargement du projet, le fichier DLL est manquant "ieframe.dll"
Merci encore une fois!
Encors une question bête :
en lisant le code barre, qu'est cequ'on va tirer comme info de ce code barre?
grandzebu
Messages postés27Date d'inscriptionvendredi 22 août 2003StatutMembreDernière intervention23 décembre 2017 19 janv. 2008 à 22:58
As-tu bien chargé la police ean13.ttf ? Bien placée dans le répertoire windows\fonts ? Et rebooté l'ordi après ?
Sinon donnes moi plus de détails sur grandzebu( mettre ici un @ )hotmail.fr
GZ
basamir
Messages postés335Date d'inscriptionvendredi 21 octobre 2005StatutMembreDernière intervention 8 mars 2008 19 janv. 2008 à 17:03
Bonjour,
j'ai testé ton prog mais au lieu d'avoir des codes barres, je n'obtiens que des trucs bizzare style message, têtes...etc?
cs_UNi
Messages postés35Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention27 avril 2009 7 déc. 2007 à 15:31
Trés bon, enfin une typo EAN13 free ;)
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 25 mars 2004 à 10:21
->Stephane
Voilà ça sert à tout ça, plus plein d'autres choses ... en fait mon 'soft' excel (macro !) avait été développé pour une société de grande consommation ... donc tu t'en sert tous les jours ... ou du moins à chaque fois que tu achètes quelques choses(vêtement ou uatres ... jeux !) ... donc y a quand même pas mal de monde ...@++
grandzebu
Messages postés27Date d'inscriptionvendredi 22 août 2003StatutMembreDernière intervention23 décembre 2017 25 mars 2004 à 00:09
Evidemment ça ne sert qu'aux professionnels; je reçois des dizaines de mail pour me signaler les applications qui en sont faites, en vrac : code 128 pour les nouvelles feuilles de maladie émises par certains pro. de la santé, ean13 avec extension pour un éditeur de presse, ean13 sur un service web réalisé par une société norvégienne, ean128 pour des étiquettes dans une société de messagerie, étiquetage divers pour différents magasins, étiquetage du matériel par l'économe d'un CHR, etc ...
GZ
grandzebu
Messages postés27Date d'inscriptionvendredi 22 août 2003StatutMembreDernière intervention23 décembre 2017 25 mars 2004 à 00:09
Evidemment ça ne sert qu'aux professionnels; je reçois des dizaines de mail pour me signaler les applications qui en sont faites, en vrac : code 128 pour les nouvelles feuilles de maladie émises par certains pro. de la santé, ean13 avec extension pour un éditeur de presse, ean13 sur un service web réalisé par une société norvégienne, ean128 pour des étiquettes dans une société de messagerie, étiquetage divers pour différents magasins, étiquetage du matériel par l'économe d'un CHR, etc ...
GZ
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 23 mars 2004 à 22:05
Je suis l'auteur d'un prog de code barre également (EAN13) et de nombreux professionnels m'ont envoyer des mails pour me féliciter et pour dire que ça leur changeait leur méthode de travail en leur divisant le travail par au moins 2 ... suffit d'un scanner et ensuite hop tout ton matos est répertorié en passant un rayon tout rouge qui fait mal aux yeux si on regarde direct la lumière !!! Donc ça sert mais pas à tout le monde ... oui bon en plus je fournissais une macro pour Excel ce qui intéressait surtout les gens beaucoup plus que le prg en VB qui c'est vrai se trouve très limité sauf si on veut réutiliser les sources ...
Sinon code 128 c'est pas mal aussi ... (message à l'auteur de ce prog !)
@+ everybody
cs_Stephane
Messages postés550Date d'inscriptionvendredi 5 janvier 2001StatutMembreDernière intervention23 septembre 2006 9 mars 2004 à 22:13
j'arriev en retard ou quoi ?
lol je voi plein de source sur les codes barre, mais a quoi ca sert ?
(ne me dite pas ce que c'est je le sais lol, mais dans quel but c'est :p)
a+
cs_sephiro
Messages postés101Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention18 février 2008 9 mars 2004 à 11:58
Voici un code permettant de calculer la clef et de générer la conversion des 13 digites d'un EAN 13 en binaire, a toi ensuite de transformer les 1 en barre et les 0 en espace vers ton ecran ou imprimante.
' ----- Calcul Clef ( le 13eme code )
Public Function ClefEAN(Code As String) As Integer
Dim TabCode(13) As String
Dim Ope1 As Integer
Dim Ope2 As Integer
Dim Ope3 As Integer
Dim Ope4 As Integer
Ope3 = Ope2 + Ope1
Ope4 = CInt(Right(CStr(Ope3), 1)) ' Recupeaire les unitées.
If Ope4 = 0 Then
ClefEAN = 0
Else
ClefEAN = 10 - Ope4
End If
End Function
' ----- Conversion du code barres de 13 digites vers un code Binaire
'*
'----- Function : EAN2Bin
'
'----- Objective : Convertir le code en 0 et 1
'
'
Public Function EAN2Bin(ByVal strEANCode As String) As String
Dim K As Integer
Dim strAux As String
Dim strExit As String
Dim strCode As String
strEANCode = Trim(strEANCode)
strAux = strEANCode
If (Len(strAux) <> 13) And (Len(strAux) <> 8) Then
'
'----- Code ean8 ou 13
'
MsgBox "La taille du code n'est pas correcte: & straux", vbCritical, "Warning"
EAN2Bin = ""
Exit Function
End If
'
'----- Est un code numerique
'
For K = 0 To Len(strEANCode) - 1
Select Case (Mid(strAux, K + 1, 1))
Case Is < "0", Is > "9"
'
'----- Code invalide
'
MsgBox "Le code doit etre numerique: & straux", vbCritical, "EAN INVALIDE"
EAN2Bin = ""
Exit Function
End Select
Next
'
'----- C'est un EAN 13
'
If (Len(strAux) = 13) Then
'
'
'----- CnnnnnnnnnnnK
'
' Where : C - Code pays
' n - Data
' K - Clef de controle
'
'----- Si le code EAN Commence par 0, il devient un code UPC(12 digits)
'
'----- Coupe le 1er digite
'
strAux = Mid(strAux, 2)
'
'----- Recherche le code Pays par rapport au 1er digite
'----- Ce code sera utiliser pour coder les Datas
'
Select Case CInt(Left(strEANCode, 1))
Case 0
strCode = "000000"
Case 1
strCode = "001011"
Case 2
strCode = "001101"
Case 3
strCode = "001110"
Case 4
strCode = "010011"
Case 5
strCode = "011001"
Case 6
strCode = "011100"
Case 7
strCode = "010101"
Case 8
strCode = "010110"
Case 9
strCode = "011010"
End Select
Else
strCode = "0000"
End If
'
'----- Le code EAN commence par un code de départ
'
'----- Code de debut Position 0 sur 6
strExit = "000101"
'
'----- 1er partie du code Digite 1 vers 7 (le code pays étant le digite 0
'
For K = 1 To Len(strAux) \ 2
Select Case CInt(Mid(strAux, K, 1))
Case 0
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0001101"
Else
strExit = strExit & "0100111"
End If
Case 1
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0011001"
Else
strExit = strExit & "0110011"
End If
Case 2
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0010011"
Else
strExit = strExit & "0011011"
End If
Case 3
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0111101"
Else
strExit = strExit & "0100001"
End If
Case 4
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0100011"
Else
strExit = strExit & "0011101"
End If
Case 5
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0110001"
Else
strExit = strExit & "0111001"
End If
Case 6
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0101111"
Else
strExit = strExit & "0000101"
End If
Case 7
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0111011"
Else
strExit = strExit & "0010001"
End If
Case 8
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0110111"
Else
strExit = strExit & "0001001"
End If
Case 9
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0001011"
Else
strExit = strExit & "0010111"
End If
End Select
Next K
'
'----- Code de séparation
' Position 48 sur 5
strExit = strExit & "01010"
'
'----- Seconde partie du code
' Pas d'utilisation du code Pays
'
For K = Len(strAux) \ 2 + 1 To Len(strAux)
Select Case CInt(Mid(strAux, K, 1))
Case 0
strExit = strExit & "1110010"
Case 1
strExit = strExit & "1100110"
Case 2
strExit = strExit & "1101100"
Case 3
strExit = strExit & "1000010"
Case 4
strExit = strExit & "1011100"
Case 5
strExit = strExit & "1001110"
Case 6
strExit = strExit & "1010000"
Case 7
strExit = strExit & "1000100"
Case 8
strExit = strExit & "1001000"
Case 9
strExit = strExit & "1110100"
End Select
Next K
'
'----- Le code fini par un code de fin
' Position 95 sur 6
strExit = strExit & "101000"
EAN2Bin = strExit
End Function
grandzebu
Messages postés27Date d'inscriptionvendredi 22 août 2003StatutMembreDernière intervention23 décembre 2017 8 mars 2004 à 23:06
Dix sources comme celui la ? T'as mal regardé je crois. Nulle part il n'y a une police EAN13 gratos, nulle part il n'y a le codage des "add-on" à 2 ou 5 chiffres.
cs_sephiro
Messages postés101Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention18 février 2008 8 mars 2004 à 14:23
Il y a dix sources comme celui la sur le site,
utiliser une police code barres sur Word ou Excel je veux bien le comprendre mais sous VB il y a des methodes plus sympa, comme généré le code binaire de tes datas et remplacer les 1 par une barres et les 0 par des espaces.
21 févr. 2008 à 10:04
merci pour cette fonte libre ean13 que nous utilisons depuis 2 ans dans le cadre d'une activité de libraire !
Juste une remarque: nous n'avons jamais réussi à la faire fonctionner avec Firefox sous XP, si quelqu'un connaît la solution...
22 janv. 2008 à 19:50
En lisant un code barre on obtient le numéro qui est en dessous, ni plus ni moins ...
GZ
21 janv. 2008 à 22:53
Merci encore une fois!
Encors une question bête :
en lisant le code barre, qu'est cequ'on va tirer comme info de ce code barre?
19 janv. 2008 à 22:58
Sinon donnes moi plus de détails sur grandzebu( mettre ici un @ )hotmail.fr
GZ
19 janv. 2008 à 17:03
j'ai testé ton prog mais au lieu d'avoir des codes barres, je n'obtiens que des trucs bizzare style message, têtes...etc?
7 déc. 2007 à 15:31
25 mars 2004 à 10:21
Voilà ça sert à tout ça, plus plein d'autres choses ... en fait mon 'soft' excel (macro !) avait été développé pour une société de grande consommation ... donc tu t'en sert tous les jours ... ou du moins à chaque fois que tu achètes quelques choses(vêtement ou uatres ... jeux !) ... donc y a quand même pas mal de monde ...@++
25 mars 2004 à 00:09
GZ
25 mars 2004 à 00:09
GZ
23 mars 2004 à 22:05
Sinon code 128 c'est pas mal aussi ... (message à l'auteur de ce prog !)
@+ everybody
9 mars 2004 à 22:13
lol je voi plein de source sur les codes barre, mais a quoi ca sert ?
(ne me dite pas ce que c'est je le sais lol, mais dans quel but c'est :p)
a+
9 mars 2004 à 11:58
' ----- Calcul Clef ( le 13eme code )
Public Function ClefEAN(Code As String) As Integer
Dim TabCode(13) As String
Dim Ope1 As Integer
Dim Ope2 As Integer
Dim Ope3 As Integer
Dim Ope4 As Integer
TabCode(1) = Mid(Code, 1, 1)
TabCode(2) = Mid(Code, 2, 1)
TabCode(3) = Mid(Code, 3, 1)
TabCode(4) = Mid(Code, 4, 1)
TabCode(5) = Mid(Code, 5, 1)
TabCode(6) = Mid(Code, 6, 1)
TabCode(7) = Mid(Code, 7, 1)
TabCode(8) = Mid(Code, 8, 1)
TabCode(9) = Mid(Code, 9, 1)
TabCode(10) = Mid(Code, 10, 1)
TabCode(11) = Mid(Code, 11, 1)
TabCode(12) = Mid(Code, 12, 1)
Ope1 = CInt(TabCode(1)) + CInt(TabCode(3)) + CInt(TabCode(5))
Ope1 = Ope1 + CInt(TabCode(7)) + CInt(TabCode(9)) + CInt(TabCode(11))
Ope2 = CInt(TabCode(2)) + CInt(TabCode(4)) + CInt(TabCode(6))
Ope2 = Ope2 + CInt(TabCode(8)) + CInt(TabCode(10)) + CInt(TabCode(12))
Ope2 = Ope2 * 3
Ope3 = Ope2 + Ope1
Ope4 = CInt(Right(CStr(Ope3), 1)) ' Recupeaire les unitées.
If Ope4 = 0 Then
ClefEAN = 0
Else
ClefEAN = 10 - Ope4
End If
End Function
' ----- Conversion du code barres de 13 digites vers un code Binaire
'*
'----- Function : EAN2Bin
'
'----- Objective : Convertir le code en 0 et 1
'
'
Public Function EAN2Bin(ByVal strEANCode As String) As String
Dim K As Integer
Dim strAux As String
Dim strExit As String
Dim strCode As String
strEANCode = Trim(strEANCode)
strAux = strEANCode
If (Len(strAux) <> 13) And (Len(strAux) <> 8) Then
'
'----- Code ean8 ou 13
'
MsgBox "La taille du code n'est pas correcte: & straux", vbCritical, "Warning"
EAN2Bin = ""
Exit Function
End If
'
'----- Est un code numerique
'
For K = 0 To Len(strEANCode) - 1
Select Case (Mid(strAux, K + 1, 1))
Case Is < "0", Is > "9"
'
'----- Code invalide
'
MsgBox "Le code doit etre numerique: & straux", vbCritical, "EAN INVALIDE"
EAN2Bin = ""
Exit Function
End Select
Next
'
'----- C'est un EAN 13
'
If (Len(strAux) = 13) Then
'
'
'----- CnnnnnnnnnnnK
'
' Where : C - Code pays
' n - Data
' K - Clef de controle
'
'----- Si le code EAN Commence par 0, il devient un code UPC(12 digits)
'
'----- Coupe le 1er digite
'
strAux = Mid(strAux, 2)
'
'----- Recherche le code Pays par rapport au 1er digite
'----- Ce code sera utiliser pour coder les Datas
'
Select Case CInt(Left(strEANCode, 1))
Case 0
strCode = "000000"
Case 1
strCode = "001011"
Case 2
strCode = "001101"
Case 3
strCode = "001110"
Case 4
strCode = "010011"
Case 5
strCode = "011001"
Case 6
strCode = "011100"
Case 7
strCode = "010101"
Case 8
strCode = "010110"
Case 9
strCode = "011010"
End Select
Else
strCode = "0000"
End If
'
'----- Le code EAN commence par un code de départ
'
'----- Code de debut Position 0 sur 6
strExit = "000101"
'
'----- 1er partie du code Digite 1 vers 7 (le code pays étant le digite 0
'
For K = 1 To Len(strAux) \ 2
Select Case CInt(Mid(strAux, K, 1))
Case 0
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0001101"
Else
strExit = strExit & "0100111"
End If
Case 1
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0011001"
Else
strExit = strExit & "0110011"
End If
Case 2
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0010011"
Else
strExit = strExit & "0011011"
End If
Case 3
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0111101"
Else
strExit = strExit & "0100001"
End If
Case 4
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0100011"
Else
strExit = strExit & "0011101"
End If
Case 5
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0110001"
Else
strExit = strExit & "0111001"
End If
Case 6
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0101111"
Else
strExit = strExit & "0000101"
End If
Case 7
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0111011"
Else
strExit = strExit & "0010001"
End If
Case 8
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0110111"
Else
strExit = strExit & "0001001"
End If
Case 9
If Mid(strCode, K, 1) = "0" Then
strExit = strExit & "0001011"
Else
strExit = strExit & "0010111"
End If
End Select
Next K
'
'----- Code de séparation
' Position 48 sur 5
strExit = strExit & "01010"
'
'----- Seconde partie du code
' Pas d'utilisation du code Pays
'
For K = Len(strAux) \ 2 + 1 To Len(strAux)
Select Case CInt(Mid(strAux, K, 1))
Case 0
strExit = strExit & "1110010"
Case 1
strExit = strExit & "1100110"
Case 2
strExit = strExit & "1101100"
Case 3
strExit = strExit & "1000010"
Case 4
strExit = strExit & "1011100"
Case 5
strExit = strExit & "1001110"
Case 6
strExit = strExit & "1010000"
Case 7
strExit = strExit & "1000100"
Case 8
strExit = strExit & "1001000"
Case 9
strExit = strExit & "1110100"
End Select
Next K
'
'----- Le code fini par un code de fin
' Position 95 sur 6
strExit = strExit & "101000"
EAN2Bin = strExit
End Function
8 mars 2004 à 23:06
8 mars 2004 à 14:23
utiliser une police code barres sur Word ou Excel je veux bien le comprendre mais sous VB il y a des methodes plus sympa, comme généré le code binaire de tes datas et remplacer les 1 par une barres et les 0 par des espaces.
Sephiro