Mais il ne faut pas scanner dans un Inputbox, tu t'y prends mal.
Utilise une cellule dédiée, et tu utilises son événement Change pour traiter chaque scan.
A la fin du traitement tu resélectionnes ta cellule dédiée pour préparer le scan suivant.
Ex avec B1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
' scan validé
' traitement
' ...
' ...
' préparer scan suivant
Application.EnableEvents = False
[B1].ClearContents
[B1].Select
Application.EnableEvents = True
End If
End Sub
Et ton programme de traitement du scan me parait scabreux. J'ai renoncé à comprendre. Tu devrais mieux préparer ton besoin et repartir d'une feuille blanche.
eric
PS : il faut absolument définir le paramètre LookAt de ton .Find() avec :=xlWhole ou :=xlPart
Sinon il dépend de la dernière recherche manuelle faite, source de bug.
eric