Portée d'une fonction

  • Initiateur de la discussion Eric D
  • Date de début
E

Eric D

Guest
Bonsoir à toutes et à tous,

Je déclare une fonction 'Function GetValueWithADO' au départ ds thisworkbook, mais j'en ai besoin ailleurs. Y a t'il une possibilité pour rendre une déclaration de fonction active sur tout le classeur.

Merci

Eric D
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir (bonjour ?) Eric D,

Comme il s'agit visiblement d'une fonction personnalisée dont tu parles là (frédéric sigonneau ?), si tu veux pouvoir l'appeler depuis tout le classeur, il convient de copier cette Function dans un module de code général (Module1 par exemple et non dans ThisWorkbook).

Cordialement,
 
E

Eric D

Guest
Re bonsoir Didier, le forum,

j'ai un petit soucis maintenant, car une erreur se déclanche :

Nom ambigu détecté : GetValueWithADO

ds un Userform puisque j'ai 'Range('DR1380').Value = GetValueWithADO('Classeur1.xls', 'feuil1', Range('DR1380'))'

et 'Function GetValueWithADO(Classeur$, Feuille$, Cell As Range)' en intro de module?

Que dois je modifier?

Eric D
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Eric D, le Forum.

Qu'entends-tu par ''Function GetValueWithADO(Classeur$, Feuille$, Cell As Range) en intro de module' ?

Tout ce que je peux te dire, c'est qu'il conviendrait de saisir cette Function dans un module de code général, avec ou sans autres fonctions et procédures peu importe, dès lors qu'il s'agit bien d'un module de code général et que cette function n'existe nulle part ailleurs dans ton classeur (ton 'Nom ambigu détecté' ne serait-il pas dû par hasard au fait que tu aies laissé une instance de la 'Function GetValueWithADO' dans ton ThisWorkbook au lieu de la déplacer dans le module de code général ?).

Cordialement,
 
E

Eric D

Guest
Bonjour Didier, le Forum

Je voulait dire que je n'est que la fonction dans un module. Par contre je me sers de la fonction dans plusieurs Userforms et feuilles. Quand je supprime la définition de fonction dans le Userform, j'ai cette erreur. Donc je suis , actuellement , obligé de redéfinir la fonction dans chaque Userform. Je souhaitais savoir si c'était 'normal' ou il y avait un moyen pour ne pas la redéfinir puisqu'il y a un module qui lui ai consacré.

Cordialement @+

Eric D
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Eric D, le Forum.

Sans pouvoir voir tes procédures, je ne peux t'en dire plus comme ça.

Essaie de joindre ici ton classeur (zippé de moins de 50 Ko avec un nom sans espace, caractères spéciaux ou accentués).

A défaut, tu peux peut-être essayer de copier-coller dans ton post l'ensemble du code présent dans le module dédié à cette fonction ainsi qu'un exemple de procédure (complète) qui fait appel à cette fonction.

Cela dit, à moins que tu aies mis quelque chose comme 'Private Function GetValueWithADO(Classeur$, Feuille$, Cell As Range)', je ne vois pas trop d'où peut provenir le problème...

Cordialement,
 

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch