comment utiliser les declarations et fonctions vba d'un autre classeur

ortollj

XLDnaute Nouveau
Bonjour
je voudrai connaitre la facon d'utiliser dans un classeur B.xls les fonctions et les declarations vba faite dans le classeur A.xls.
:p
 

Dranreb

XLDnaute Barbatruc
Re : comment utiliser les declarations et fonctions vba d'un autre classeur

Bonsoir.
En VBA, normalement:
Application.Run permet d'exécuter les procédures d'un autre classeur, quant aux variables, même Public elles ne sont pas accessibles.
En VBA, après avoir ajouté dans le projet VBA une référence à celui du classeur de macros, lequel doit alors porter un autre nom: Utiliser ce nom comme qualificateur pour accéder à tout ce qui y est Public.
En feuille de calcul: Préfixer le nom de fonction du nom de classeur suivi d'un "!"
Devient facultatif si le classeur de macros a sa propriété IsAddin à True, mais il n'est alors plus visible.
Cordialement
 
Dernière édition:

bof

XLDnaute Occasionnel
Re : comment utiliser les declarations et fonctions vba d'un autre classeur

bonsoir,
Les variables déclarées avec l'instruction Public sont accessibles à toutes les procédures, dans l'ensemble des modules de toutes les applications, à moins que Option Private Module ne soit activé. Dans ce cas, les variables ne sont publiques qu'au sein du projet qui les accueille. (extrait de l'aide de VBA)
A+
 

Dranreb

XLDnaute Barbatruc
Re : comment utiliser les declarations et fonctions vba d'un autre classeur

... puiqu'elles sont toujours private
Non. Lorsqu'elles sont private elle ne sont connues que dans le module où elles sont déclarées, et non dans le reste du projet.
Je me trompe peut être parce que je viens de lire:
Les variables déclarées avec l'instruction Public sont accessibles à toutes les procédures, dans l'ensemble des modules de toutes les applications, à moins que Option Private Module ne soit activé. Dans ce cas, les variables ne sont publiques qu'au sein du projet qui les accueille.
C'est plutôt alors que je n'ai jamais essayé...
Cordialement.

P.S. Bonjour bof. Oui je l'avais lu dans l'aide aussi, pas dans ta réponse naturellement qui ne m'était pas encore parvenue.

À la réflexion j'avais peut être déjà essayé mais pas trouvé concluant pour diverses raisons, entre autre parce qu'il ne respecte plus la casse de la définition. Je préfère mettre une référence que je précise de toute façon pour ne pas risquer de rechercher un jour la chose dans le mauvais projet
À+
 
Dernière édition:

Statistiques des forums

Discussions
311 740
Messages
2 082 049
Membres
101 882
dernier inscrit
XaK_