1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
If Target.Count > 1 Then Exit Sub
If Target.Column = 2 Then 'ici, colonne B pour la colonne "Clients"
'défini la plage sur la colonne B de la feuille "Données"
With Worksheets("Données"): Set Plage = .Range(.Cells(1, 2), .Cells(.Rows.Count, 2).End(xlUp)): End With
'effectue la recherche du client. Attention, si plusieurs clients ayant le même nom, le premier trouvé sera pris en compte !
Set Cel = Plage.Find(Target.Value, , xlValues, xlWhole)
'si trouvé, inscrit le N° de compte
If Not Cel Is Nothing Then Target.Offset(, 1) = Cel.Offset(, 1).Value
End If
If Target.Column = 3 Then 'ici, colonne C pour la colonne "N° de compte"
'défini la plage sur la colonne C de la feuille "Données"
With Worksheets("Données"): Set Plage = .Range(.Cells(1, 3), .Cells(.Rows.Count, 3).End(xlUp)): End With
'effectue la recherche du n° de compte. Ici pas de problème, les n° de compte étant uniques !
Set Cel = Plage.Find(Target.Value, , xlValues, xlWhole)
'si trouvé, inscrit le nom du client
If Not Cel Is Nothing Then Target.Offset(, -1) = Cel.Offset(, -1).Value
End If
End Sub |
Partager