Bonjour à tous
Dans un classeur excel, j’ai 2 feuilles.
Sur la feuil1 j’ai dans la colonne A le code numérique qui correspond au nom d’un client dans la colonne B.
Le nombre de code et client est indéfini.
Sur la feuil2 en tapant dans une cellule le code d’un client le nom de celui-ci est affiché dans la cellule voisine et ceci dans n’importe quelle cellule de la feuil2.
Exemple :
Le client Paul a pour code 169 sur la feuil1
Je tape 169 dans la cellule F8 le nom s’affiche Paul dans la cellule G8
Je tape 169 dans la cellule C54 le nom s’affiche Paul dans la cellule D54.
Le code ci-dessous fonctionne très bien.
Code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range, cel As Range
Dim LastLig As Long
 
If Target.Column <> 1 And Target.Count > 1 Then Exit Sub
 
LastLig = Sheets("Feuil1").Range("A65536").End(xlUp).Row
Set plage = Sheets("Feuil1").Range("A4:A" & LastLig)
 
Set cel = plage.Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
 
If Not cel Is Nothing Then
Target.Offset(0, 1) = cel.Offset(0, 1) & " " & cel.Offset(0, 2)
End If
 
End Sub

Mon problème
C’est que je voudrais limiter cette action sur seulement 2 colonnes choisies dans la feuil2 par exemple les colonnes B et C, car je ne peux pas taper un nombre dans une autre colonne sans que le nom associer à ce nombre ne s’affiche.
Pour exemple la feuil2 est un relevé des bons d’achats des clients soit

Colonne A le code client (pour l’instant de 1 à 1500)
Colonne B le nom
Colonne C le N° du bon (qui peut-être de la même valeur que le code car les carnets de bon sont déjà numérotés)
Colonne D la date du bon
Colonne E le montant du bon

Donc si je tape 169 dans la col C, le nom Paul s’affiche dans Col D.
J’espère être assez clair dans mes explications.
Merci à tous à bientôt