IMPRESSION DE CODES BARRES CODE 39

Messages postés
483
Date d'inscription
mardi 10 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2006
- - Dernière réponse : cannibal20
Messages postés
1
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
7 septembre 2007
- 7 sept. 2007 à 17:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/8072-impression-de-codes-barres-code-39

Afficher la suite 
cannibal20
Messages postés
1
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
7 septembre 2007
-
POUR LES LETTRES IL SUFFIT DE MODIFIER CECI:

Public Function CodeBarreCode39(pCodeBar As String, Col As Long, Lig As Long, Optional Hauteur As Long 800, Optional largeur As Long 1500)

Dim TJA(255) As String
Dim CodeBar As String
Dim Chiffre As Long
Dim Ind As Long
Dim CodeChiffre As String ' Profil binaire des traits
Dim Lettre As String '
Dim Epaisseur1Trait As Double ' Epaisseur d'un trait
Dim Decalage As Long

CodeBar = pCodeBar

' initialisation du jeu de caractères pour code barre Code 39
' Le TJA(10) correspond au caractère de début et de fin du code barre (caractère *)
TJA(0) = "0001101000" '= 0
TJA(1) = "1001000010" '= 1
TJA(2) = "0011000010" '= 2
TJA(3) = "1011000000" '= 3
TJA(4) = "0001100010" '= 4
TJA(5) = "1001100000" '= 5
TJA(6) = "0011100000" '= 6
TJA(7) = "0001001010" '= 7
TJA(8) = "1001001000" '= 8
TJA(9) = "0011001000" '= 9
TJA(10) = "0100101000" '= CARATÈRE DÉBUT ET FIN
TJA(32) = "0110001000" '= SPACES
TJA(36) = "0101010000" '= $
TJA(37) = "0001010100" '= %
TJA(42) = "0100101000" '= * & CARATÈRE DÉBUT ET FIN
TJA(43) = "0100010100" '= +
TJA(45) = "0100001010" '= -
TJA(46) = "1100001000" '= .
TJA(47) = "0101000100" '= /
TJA(65) = "1000010010" '= A
TJA(66) = "0010010010" '= B
TJA(67) = "1010010000" '= C
TJA(68) = "0000110010" '= D
TJA(69) = "1000110000" '= E
TJA(70) = "0010110000" '= F
TJA(71) = "0000011010" '= G
TJA(72) = "1000011000" '= H
TJA(73) = "0010011000" '= I
TJA(74) = "0000111000" '= J
TJA(75) = "1000000110" '= K
TJA(76) = "0010000110" '= L
TJA(77) = "1010000100" '= M
TJA(78) = "0000100110" '= N
TJA(79) = "1000100100" '= O
TJA(80) = "0010100100" '= P
TJA(81) = "0000001110" '= Q
TJA(82) = "1000001100" '= R
TJA(83) = "0010001100" '= S
TJA(84) = "0000101100" '= T
TJA(85) = "1100000010" '= U
TJA(86) = "0110000010" '= V
TJA(87) = "1110000000" '= W
TJA(88) = "0100100010" '= X
TJA(89) = "1100100000" '= Y
TJA(90) = "0110100000" '= Z

'//==== Creation du mask représentant le code barre (série de 1, de 0)
'//"0" une bande étroite
'//"1" une bande large
'//"-" diminution de la hauteur du code barre (pour mettre le texte en dessous)
'//"+" Augmentation de la hauteur du code barre
CodeChiffre = TJA(10) + "-"

For Ind = 1 To Len(CodeBar)
If IsNumeric(Mid(CodeBar, Ind, 1)) Then
Chiffre = Val(Mid(CodeBar, Ind, 1))
Else
Chiffre = Val(Asc(UCase(Mid(CodeBar, Ind, 1))))
End If

CodeChiffre = CodeChiffre + TJA(Chiffre)
Next Ind
SilverSurfeur
Messages postés
21
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
Les lettres ne sont pas gérées pour ce programme ci.

Mais comme je l'ai dit plus haut, il suffit de modifier le programme pour correspondre à d'éventuelles normes pour le code 39.
zoizome
Messages postés
3
Date d'inscription
dimanche 13 juillet 2003
Statut
Membre
Dernière intervention
14 novembre 2005
-
Et comment faire pour les lettres ?
TJA(A) = "??????????"
TJA(B) = "??????????"
...

:(
bleva
Messages postés
3
Date d'inscription
lundi 28 avril 2003
Statut
Membre
Dernière intervention
15 avril 2004
-
Je te remercie de ta reponse mais j'ai reussi a contourner le probleme en passant par l'impression en code 128 avec la police et ca marche nickel
SilverSurfeur
Messages postés
21
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
Pour l'impression des lettres en code 39, je ne sais po si c'est possible. Il faudrait récupérer la doc complète sur le code 39 et voir si des codes sont disponibles pour les lettres.

Logiquement, ce serait possible vu que, comme est défini le code 39, il peut y avoir jusqu'à 84 combinaisons et donc 84 caractères : Bien assez pour coder les 10 chiffres et les 26 lettres de l'alphabet en majuscules et en minuscules.

Il suffit donc de vérifier dans la norme du code 39 si c'est bien définit.

Pour mon programme, je propose de remplacer le tableau TJA par un tableau dont l'index correspond à la valeur ASCII de la lettre à coder. A tester...

Bonne chance !!!
bleva
Messages postés
3
Date d'inscription
lundi 28 avril 2003
Statut
Membre
Dernière intervention
15 avril 2004
-
Ton code marche nickel
Mais auriez vous une idée sur l'impression d'un code barre avec des lettres
cs_agh
Messages postés
36
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
9 novembre 2011
-
Merci beaucoup .... Rien à dire ): hassan
ChristianBL
Messages postés
1
Date d'inscription
mercredi 10 novembre 2004
Statut
Membre
Dernière intervention
10 novembre 2004
-
je souhaite utiliser le code source pour une application VBA sous ACCESS mais les fonctions d'impressions(Printer.DrawWidth = 1
Printer.Line (X + Col, Lig)-(X + BarreCourteNoire + Col, Lig + Hauteur), , BF) ne font pas parti des fonctions standards. Pouvez vous m'aider? Merci par avance.
guns_mercy
Messages postés
11
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
9 mars 2007
-
je vous remercie tt de meme
SilverSurfeur
Messages postés
21
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
Comme expliqué dans l'entête de la fonction, la taille du code barre est passée en paramètre. Pour mon application, j'ai utilisé une taille qui vallait 1750.

Pour la taille du code barre, il faut la déterminer par l'expérience. Ce qui est prépondérant dans la détermination de la taille du code barre, c'est la résolution de l'imprimante. Lors de mes essais sur une imprimante laser (600 dpi), j'arrivais à faire des codes barres de 2 cm de long pour 5 chiffres, mais avec l'imprimante à étiquettes (300 dpi), il fallait qu'ils fassent 4 à 5 cm pour un code barre de 5 chiffres aussi.
guns_mercy
Messages postés
11
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
9 mars 2007
-
slt,

je te remercie pour les liens j'aimerai bien savoir une autre chose, lors de l'impression du code barre est ce que la taille du code barre entre en jeux. et vous pourrai me donner la taille du code barre.
et merci d'avance
asem67
Messages postés
145
Date d'inscription
mardi 3 septembre 2002
Statut
Membre
Dernière intervention
24 février 2008
-
slt

je t'envoi qq lien

http://www.v-ingenierie.com/
http://www.pearl.fr/famille-1041.html
http://www.intermec.fr/product/category.asp?cat=scn

voila mais tu peut chercher sur le net ça ne manque pas
les prix sont assez elever !!!!
slt
guns_mercy
Messages postés
11
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
9 mars 2007
-
bonjour j'aimerai bien savoir ou on peu bien se procurer un douchette et s'il y a des marque ou des refrences precises. pour moi je suis bien intersse d'avoir une comme celle de Mr asem67 est ce que quelqu'un pourrai m'aider a trouver une et merci ??
asem67
Messages postés
145
Date d'inscription
mardi 3 septembre 2002
Statut
Membre
Dernière intervention
24 février 2008
-
slt
pour ma part c'est egalement une douchette mais connecter au port ps2 clavier
qui envoie la lecture dans la zone ou est le curseur (ça marche partout ou on peut taper du text comme si ont avez taper au clavier
aucun logiciel d'interpretation entre
toute la config se fait par lecture de code barre de configuration fournie avec la douchette
SilverSurfeur
Messages postés
21
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
Pour mon projet, la douchette était connectée sur le port série du PC. La valeur lue par la douchette était alors envoyée en ascii.
cs_toftof
Messages postés
4
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
29 septembre 2004
-
ça marche bien mais pour la lecture du code barre ca marche comment.Y a t il des applis pour interpreter ce que lit la douchette par exemple ?
A+
asem67
Messages postés
145
Date d'inscription
mardi 3 septembre 2002
Statut
Membre
Dernière intervention
24 février 2008
-
Slt
Desoler je viens 1 peut tard, cela fais plus d1 ans que mon prog GDSv3 (gestion des stocks de pieces machine ....etc) realiser en vb6 tourne avec ta source
j'imprime mes etiquette de piece avec code bar pour la sortie du stock et j'ai plus de 5 chiffre et ça fonctionne nickel (6 chiffre Ref. + 2chiffre Quantite a sortire)
impresion efectuer sur une UBI 201 (imp pro d'etiquetage )
je t'en remerci beaucoup

A+
Cyberdevil
Messages postés
483
Date d'inscription
mardi 10 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2006
-
Oui g vu une source a ce sujet sur vbfrance -> A vos recherche lol (snion ya l'api je crois)
SilverSurfeur
Messages postés
21
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
Je n'ai pas trouvé comment choisir l'imprimante sur laquelle le code barre est imprimé. Pour l'instant, le code barre est imprimé sur l'imprimante par défaut. Mais il y a surement un moyen pour afficher l'écran de sélection des imprimantes.

Peut etre qu'il existe une source sur ce site qui permet de gérer les imprimantes....
Cyberdevil
Messages postés
483
Date d'inscription
mardi 10 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2006
-
Est-ce que il y a qqun qui as deja vu / fait un ptit circuit pour lire les codes barres ?
goldfingers_suisse
Messages postés
29
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
7 décembre 2006
-
Ok merci !

J'ai encore juste une question :

Il y aurait un moyen pour choisir l'imprimante sur laquelle imprimer ?
SilverSurfeur
Messages postés
21
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
non non ya po de pb : ca fera 10 euros et un Mars ;)

je rigole...

Si j'ai mis ce code sur ce site c'est surtout pour que d'autres gens puissent l'utiliser donc : vas y sert toi !!!
goldfingers_suisse
Messages postés
29
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
7 décembre 2006
-
Bonjour, je voulais savoir si ça ne vous dérangeait pas si j'utilisais la source dans un projet pour l'école ?

Je dois créer une gestion de client avec une impression de code barre.
SilverSurfeur
Messages postés
21
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
Merci beaucoup pour le commentaire

C vrai c'est un bug
en fait po vraiment mais ce code ne permet d'imprimer que des codes barres de 5 chiffres ;)
je ne l'ai utilisée que comme ca, ce qui explique que je n'ai po vu ce bug

dans ce cas, il faut aussi modifier la boucle For à la ligne du dessus et mettre
For i = 1 To Len(CodeBar) - 1

Je vais modifier cela :)
Sibelle07
Messages postés
206
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
25 mars 2005
-
WAW !!!
Voila ce que j'appelle un bon programme
Domage que il y a un ptit bug :
essai = Mid(CodeBar, Len(CodeBar), 1)

Je ne voit pas ou soit tu a oublier de cochez un truc dans > projet > référance mais sinon mon code barre s'imprime bien bravo a toi ;-)
9/10
sylverweb
Messages postés
7
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
5 octobre 2003
-
merci !!
SilverSurfeur
Messages postés
21
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
euh non je l'ai po en ean 128 ou 13 mais je pense que tu peux le trouver sur le forum : ya un code dont je me suis inspiré sur cette discussion là :
http://www.vbfrance.com/forum.aspx?Article=10681

Sinon je pense qu'il y a un bout de code dans les sources pour imprimer l'EAN128 ou 13. Je suis tombé dessus lorsque je cherchais un programme pour imprimer du code 39 :)
sylverweb
Messages postés
7
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
5 octobre 2003
-
Super ton soft tu ne l'aura pas par hasard en ean 128 et ean 13
merci d'avance
Cyberdevil
Messages postés
483
Date d'inscription
mardi 10 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2006
-
voilà bonne idée !
SilverSurfeur
Messages postés
21
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
26 mars 2004
-
Disons que pour la copie d'écran ca risque d'être un peu difficile vu qu'il n'y a pas du tout de feuilles. Mais bon, si vous voulez je peux mettre une petite appli qui utilise ces méthodes. Comme ca, il y aura une copie d'écran et un zip :)
matrey
Messages postés
399
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
6 septembre 2004
-
cool !
Pour que çà soit plus facile à se rendre compte pour les visiteurs de VBFrance, çà serait cool de mettre une copie d'écran et un zip !
Tilois
Messages postés
721
Date d'inscription
dimanche 10 juin 2001
Statut
Membre
Dernière intervention
27 mars 2011
4 -
Ben dit donc le travail .... en plus c'est commenté .. bien !!
Cyberdevil
Messages postés
483
Date d'inscription
mardi 10 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2006
-
deja vu mais ça a l'air pas mal !