Problème avec fonction Find
Bonjour à tous,
j'ai un petit problème avec l'utilisation de la fonction Find
J'ai la macro suivante :
Code:
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