Accueil du site > Les articles > Fonction VBA permettant de vérifier la validité d’un GENCOD (EAN13)
Version à imprimer Enregistrer au format PDF

Fonction VBA permettant de vérifier la validité d’un GENCOD (EAN13)

lundi 31 mai 2004, par Serge Gomes Visites  2458 |Popularité : 36%  Première mise en ligne le lundi 19 janvier 2004.

Voici une fonction permettant de verifier la validité d’un gencod


- Utilisable en VBA (excel, word...)

Public Function Gencod(codeGen) As Boolean
'Cette fonction renvoie true si le GENCOD n'est pas valide

Dim wcod As String
Dim x As Integer
Dim totPair, totImpair, totGen As Long
Dim cle, w10 As Integer
Gencod = False
wcod = Len(Trim(codeGen))
If wcod <> 13 Or IsNumeric(Trim(codeGen)) = False Then
   Gencod = True
   Exit Function
End If
For x = 1 To 12
   If x Mod 2 = 0 Then
      'pair
      totPair = totPair + CInt(Mid(Trim(codeGen), x, 1))
   Else
       'impair
       totImpair = totImpair + CInt(Mid(Trim(codeGen), x, 1))
   End If
Next x
totGen = (totPair * 3) + totImpair
w10 = Fix(totGen / 10) + 1
cle = (w10 * 10) - totGen
if cle >= 10 then cle = 0
If cle <> CInt(Mid(codeGen, 13, 1)) Then
   Gencod = True
   Exit Function
End If
End Function