Public Function Codebarre(X As Range)
Application.Volatile
[COLOR=SeaGreen] 'Len : nombre de caractères [/COLOR]
Select Case Len(X.Text)
[COLOR=SeaGreen] 'si 9 alors la cellule garde sa valeur initiale[/COLOR]
Case 9
Codebarre = X.Value
[COLOR=SeaGreen] 'Dans les cas ou Len = 12,17 ou 25[/COLOR]
Case 12, 17, 25
'si Les deux 2 caractères à gauche sont +H
If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 6)
[COLOR=SeaGreen]'la fonction renvoie 6 car. à partir du 6ème caractère[/COLOR]
[COLOR=SeaGreen] 'si les 3 caractères à gauche sont +$$
[/COLOR][COLOR=SeaGreen]'la fonction renvoie 8 car. à partir du 16ème caractère[/COLOR]
If Left(X, 3) = "+$$" Then Codebarre = Mid(X, 16, 8)
[COLOR=SeaGreen] 'si la cellule contient une valeur numérique
'la fonction renvoie le contenu de la cellule à partir du 2ème caractère
[/COLOR] If IsNumeric(X) = True Then Codebarre = Mid(X, 2, 256)
Case 22
Codebarre = Left(X, 8) & " | " & Mid(X, 9, 8)
End Select
End Function