Bonjour à tous,

j'ai un petit problème avec l'utilisation de la fonction Find
J'ai la macro suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Private Sub Worksheet_Change(ByVal Target As Range)
 
If Not Intersect(Target, Columns("B:B")) Is Nothing Then
Dim K As Range
Set K = Sheets("Données").Range("Liste").Find(Target)
 
If Not K Is Nothing Then
Target.Offset(0, 4).Value = K.Offset(0, 1).Value
End If
 
end sub
Le range "Liste" étant comme son nom l'indique une liste de données correspondant à une plage de cellule (A1:A10).
Et je ne comprend pas pourquoi, mais la macro ne fonctionne pas...
Ce qu'il faut savoir, c'est que les données de la liste ne sont pas rentrées en dur, mais sont liées à d'autres cellules de la feuille par une formule (type : =$B$1)
J'ai essayé pour voir de rajouter une valeur en dur dans ma liste. Et cette fois-ci ma macro fonctionne, mais uniquement pour cette valeur.

J'en conclus donc que la fonction Find trouve dans une liste donnée une valeur si celle-ci est entrée en dur, mais pas si elle est liée par une formule à une autre cellule.

Quelqu'un sait-il comment résoudre ce problème? J'éspère avoir été assez clair dans mon explication.

D'avance merci pour vos réponses, cordialement