Option Explicit
Sub Detec()
Dim X As String, Codebarre As String, lig_suiv As Long, lig_suivb As Long, lig_suivc As Long
X = InputBox("Entrez le code barre")
With Worksheets("Feuil1")
lig_suiv = .Range("A65536").End(xlUp).Row + 1
lig_suivb = .Range("B65536").End(xlUp).Row + 1
lig_suivc = .Range("C65536").End(xlUp).Row + 1
[COLOR=Blue][B] If Range("A" & lig_suiv - 1).Value = "" _
Or Range("B" & lig_suiv - 1).Value = "" _
Or Range("C" & lig_suiv - 1).Value = "" Then
MsgBox "La référence, le lot et la quantité ne sont pas tous renseignés, validation stoppé.", vbCritical
Exit Sub
End If[/B][/COLOR]
Select Case Len(X)
Case 12
Codebarre = X
.Range("A" & lig_suiv) = Codebarre
Case 14
If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 7)
.Range("A" & lig_suiv) = Codebarre
Case 13
If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 6)
.Range("A" & lig_suiv) = Codebarre
Case 15
If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 8)
.Range("A" & lig_suiv) = Codebarre
Case 16
.Range("B" & lig_suivb) = Left(X, 8)
.Range("A" & lig_suiv) = Mid(X, 9, 8)
.Range("C" & lig_suivc) = 1
Case 17
If Left(X, 3) = "+$$" Then Codebarre = Mid(X, 8, 8)
.Range("B" & lig_suivb) = Codebarre
.Range("C" & lig_suivc) = 1
Case 18
If IsNumeric(X) = True Then Codebarre = Mid(X, 3, 8)
.Range("B" & lig_suivb) = Codebarre
.Range("C" & lig_suivc) = 1
Case 19
If Left(X, 2) = 10 Then Codebarre = Mid(X, 3, 9)
.Range("B" & lig_suivb) = Codebarre
.Range("C" & lig_suivc) = 1
Case 22
.Range("A" & lig_suiv) = Left(X, 8)
.Range("B" & lig_suivb) = Mid(X, 9, 8)
.Range("C" & lig_suivc) = 1
Case 25
If Left(X, 3) = "+$$" Then Codebarre = Mid(X, 16, 8)
.Range("B" & lig_suivb) = Codebarre
.Range("C" & lig_suivc) = 1
End Select
End With
End Sub