Bonjour à tous,
J'ai peu ou prou réussi avec l'aide de généreux bénévoles à créer une fonction qui scan le nom de fournisseurs dans des libellés.
Je rencontre néanmoins un nouveau problème que je vous soumet.
Function bn(s, lf)
t = Split(UCase(s), " ")
For i = LBound(t) To UBound(t)
For Each fournisseur In lf
fournisseur = UCase(fournisseur)
If fournisseur <> "" Then
If t(i) = fournisseur Then bn = fournisseur: Exit Function
End If
Next
Next i
bn = ""
End Function
Ici, la fonction va scanner les chaînes de caractères dans "s" et voir si une chaîne correspond à un fournisseur dans
ma liste.
Si tel est le cas, la fonction renvoi "fournisseur" dans ma liste.
Or, j'aimerais plutôt ceci:
Function bn(s, lf)
t = Split(UCase(s), " ")
For i = LBound(t) To UBound(t)
For Each fournisseur In lf
fournisseur = UCase(fournisseur)
If fournisseur <> "" Then
If t(i) = fournisseur Then bn = Sheets("Liste").Cells(fournisseur.Row, 1): Exit Function
End If
Next
Next i
bn = ""
End Function
Ici, la fonction ne renvoi pas "fournisseur" mais la cellule sur la ligne de "fournisseur", en colonne 1, comme sur la fonction ci dessus.
Malheureusement, cette fonction renvoi #VALEUR!, pouvez vous m'expliquer mon erreur et me corriger ?
Je vous remercie d'avance pour votre aide et vous en suis grandement reconnaissant.
Tylerdurden