-----\\\ fonction de calcule excel permetant de trouver la clés du code barre. ///----- //La formule du code bare étant la suivante : //(trouver sur le site www.aurel32.net/elec/codes_barres.php, normalisation EAN) clés = 10 - [(a+b*3+c+d*3+e+f*3+g+h*3+Ji+j*3)modulo 10] // Cependant la fomule ci dessus que j'ai rédigé ne prend pas en compte la regle // suivante : "Si le reste de la division vaut 0, alors le caractère de contrôle // vaut également 0" // Ajout fonction excel : alt F11, insertion module. Public Function calculeClesCodeBarre(B1, C1, D1, E1, F1, G1, H1, I1, J1, K1 As Integer) As Integer Dim modCodeBarre As Integer modCodeBarre = (B1 + C1 * 3 + D1 + E1 * 3 + F1 + G1 * 3 + H1 + I1 * 3 + J1 + K1 * 3) Mod 10 If modCodeBarre = 10 Then calculeClesCodeBarre = 0 Else calculeClesCodeBarre = 10 - modCodeBarre End If End Function // Cependant elle comporte 10 parametres il serait plus optimal de trouver // comment séparer une chaine. // Separation de la chaine dans la fonction Public Function calculeClesCodeBarre2(codebare As String) As Integer Dim B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, i, modCodeBarre As Integer If Len(codebare) = 9 Then // premet de prendre en compte qu'excel B1 = 0 // supprime les 0 de gauche. C1 = Mid(codebare, 1, 1) D1 = Mid(codebare, 2, 1) E1 = Mid(codebare, 3, 1) F1 = Mid(codebare, 4, 1) G1 = Mid(codebare, 5, 1) H1 = Mid(codebare, 6, 1) I1 = Mid(codebare, 7, 1) J1 = Mid(codebare, 8, 1) K1 = Mid(codebare, 9, 1) Else B1 = Mid(codebare, 1, 1) C1 = Mid(codebare, 2, 1) D1 = Mid(codebare, 3, 1) E1 = Mid(codebare, 4, 1) F1 = Mid(codebare, 5, 1) G1 = Mid(codebare, 6, 1) H1 = Mid(codebare, 7, 1) I1 = Mid(codebare, 8, 1) J1 = Mid(codebare, 9, 1) K1 = Mid(codebare, 10, 1) End If modCodeBarre = (B1 + C1 * 3 + D1 + E1 * 3 + F1 + G1 * 3 + H1 + I1 * 3 + J1 + K1 * 3) Mod 10 If modCodeBarre = 0 Then calculeClesCodeBarre2 = 0 Else calculeClesCodeBarre2 = 10 - modCodeBarre End If End Function // Pour enregistrer un module définitivement dans excel, apres avoir insert votre // fonction dans le module, faite sauvegarder votre classeur en tant que macro // complementaire à excel. Reouvrer le programme, votre fonction se trouve dans // inserer, fonction, rubrique personnalisé.