Bonjour,
Dans un premier temps, il te faut créer ta base de données c'est à dire inscrire toutes les valeurs afférentes à tes différents produit en commençant par le code du produit (qui est unique) en colonne A (c'est dans cette colonne que vont s'effectuer les recherches) et sur les cellules à droite les valeurs que tu désires stocker. Comme je n'ai jamais utilisé de douchette, je ne sais pas si la procédure événementielle "Change()" est exécutée quand cette dernière inscrit le code dans la cellule mais voici à quoi ça pourrait ressembler, code à mettre dans le module de la feuille où seront inscrit les résultats des scan :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim Col As Long
'seulement si modif dans une seule cellule et sur la colonne A
If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
With Worksheets("Base de données")
'défini la plage sur la colonne A de la feuille "Base de données" à partir de A2
Set Plage = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)):
'effectue la recherche...
Set Cel = Plage.Find(Target.Value, , xlValues, xlWhole)
'...si trouvé, défini le nombre de colonnes à récupérer par rapport aux entêtes (ligne 1)
'et inscrit les valeurs dans les cellules de droite
If Not Cel Is Nothing Then
Col = .Cells(1, .Columns.Count).End(xlToLeft).Column
Target.Resize(1, Col).Value = Cel.Resize(1, Col).Value
End If
End With
End Sub
La feuille qui va servir de base de données s'appelle, dans mon code, "Base de données" (original non ? )
Voici le classeur exemple :
Sur la feuille nommée "Scan", entres la série de chiffres 123456789 ou 987654321, valides avec Entrée et regardes le résultat !