Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 
P

Pierre

Guest
La solution est, bien sûr, de nommer totalement "Champ" avec le nom du fichier soit : "Perso.xla!Champ";

Il faut toujours tourner 7 fois sa souris avant de poster...

Pierre
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…