fonction personnelle et référence externe

P

Pierre

Guest
Bonjour,

mon problème : j'ai une fonction (appelée Secteur() ) qui fait une recherche (vlookup () ) à partir du contenu d'une cellule dans une table nommée "champ" qui se trouve dans le classeur Perso.xls (où se trouve également la fonction).

Cette fonction marche bien tant que je me trouve dans Perso.xls ou que ce classeur est "affiché".

En revanche elle ne fonctionne pas lorsue perso.xls est caché et a fortiori losqu'i n'est pas ouvert.
J'ai essayé en nommant le classeur perso.xla et en important les macros complémentaires : ça ne fonctionne pas...

La fonction est reconnue mais le résultat est : #valeur!.
Je suppose que le champ n'est pas reconnu, mais peut-être le pb vient-il d'ailleurs.
ma fonction (non optimisée ):

Function Secteur(nb As Variant)
'
'test si nombre
If Application.WorksheetFunction.IsNumber(nb) Then
'si nombre < 1000 rajoute un 0 et le transforme en texte sinon transforme le nb en texte
If nb < 1000 Then
nbStr = "0" & Application.WorksheetFunction.Fixed(nb, 0, -2)
Else
nbStr = Application.WorksheetFunction.Fixed(nb, 0, -2)
End If
'fait la recherche de la 4éme colonne correspondante
Secteur = Application.WorksheetFunction.VLookup(nbStr, Range("champ"), 4, False)
End If
'fait la recherche de la 4éme colonne correspondante, lea donnée est déja en texte

Secteur = Application.WorksheetFunction.VLookup(nbStr, Range("champ"), 4, False)

End Function

Merci de vos lumières

Pierre
 

Discussions similaires

Statistiques des forums

Discussions
314 214
Messages
2 107 366
Membres
109 814
dernier inscrit
soufian