OVH Cloud OVH Cloud

ITF14

4 réponses
Avatar
lron84
Bonjour,

Je cherche la macro pour générer la clé de controle d'un code à barre ITF14

Merci

4 réponses

Avatar
Tisane
Bonjour lron84,

Je cherche la macro pour générer la clé de controle d'un code à barre
ITF14


A cette adresse, tu trouveras des add-in qui peuvent correspondre à ta
demande :
http://bar-codes.qarchive.org/downloads.html
Il y en a sûrement d'autres.

--
Tisane

Avatar
lron84
Merci Tisane,

Je recherche plus directement la macro pour générer la clé, c'est quelque
chose que je ne sais pas faire (je ne connais pas le visual basic)
[Pour calculer la clé il faut multiplier chaque chiffre impair par 3 et
chaque chiffre pair par 1 et ajouter tous ces résultats. Ensuite chercher le
modulo de cette valeur, si le chiffre obtenu est différent de zéro il faut
soustrayer le de 10, sinon garder 0.]



Merci bcp
Avatar
Eric
Bonjour,

Le code de la fonction est à copier dans un module nommé modITF.
Cette fonction te retourne la chaine avec la clé à coder.
Je me suis inspiré de l'information donnée ici (page Transcription):
http://www.quartet.fr/DemoCB/Doc_Itf.pdf#search=%22cle%2Bitf14%22
car il manquait quelques précisions.

Pour utiliser la fonction, tu peux l'appeler dans une requête par exemple :
1erChamp : LeCode
2eme champ: fnCleITF([LeCode])
la requête te retournera le code et le code avec la clé

Function fnCleITF(UneChaine) As String
If IsNull(UneChaine) Or _
Not IsNumeric(UneChaine) Then Exit Function
Dim i As Integer, l As Integer
Dim CarCTL As Integer
Dim cle As Integer, ModCar As Integer
l = Len(UneChaine)
If l Mod 2 = 0 Then
UneChaine = "0" & UneChaine
End If
For i = Len(UneChaine) To 1 Step -1
CarCTL = CarCTL + Val(Mid(UneChaine, i, 1)) * IIf(i Mod 2 = 0,
1, 3)
Next i
ModCar = CarCTL Mod 10
cle = IIf(10 - ModCar = 0, 0, 10 - ModCar)
fnCleITF = UneChaine & CStr(cle)
End Function

Je recherche plus directement la macro pour générer la clé, c'est quelque
chose que je ne sais pas faire (je ne connais pas le visual basic)
[Pour calculer la clé il faut multiplier chaque chiffre impair par 3 et
chaque chiffre pair par 1 et ajouter tous ces résultats. Ensuite chercher le
modulo de cette valeur, si le chiffre obtenu est différent de zéro il faut
soustrayer le de 10, sinon garder 0.]



Merci bcp


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...

Si tu veux récupérer uniquement la clé, modifies la fonction comme suit
sur la derniere ligne avant le End Function:
fnCleITF = CStr(cle)
au lieu de
fnCleITF = UneChaine & CStr(cle)



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr