Appeller une fonction contenue dans un autre classeur
En VBA : Toto = Run("'Classeur B.xls'!MaFonction", Param1, Param2)
Ou alors ajouter une référence vers Classeur B et appeler la fonction directement comme si elle était dans Classeur A : (les deux classeurs doivent être ouverts).
Pour ça il faut d'abord renommer le VBAProject du classeurB (clic droit sur son projet dans l'éditeur puis Propriétés de VBAProject puis donne le nom de ton choix dans la zone Nom du projet, par ex ProjetB).
Ensuite, sélectionne le VBAProject du classeurA en cliquant dessus puis par le menu Outils\Références coche ProjetB dans la liste et OK. Un dossier Références s'ajoute au VBAProjet du classeurA, avec une liaison vers le classeurB. A partir de là tu peux utiliser directement dans le code du classeurA les procédures et fonctions publiques du classeurB.
Supposons une fonction dans un module standard du classeurB :
Function bidon(rez) bidon = rez & " : " & rez End Function
Après établisement d'une référence vers B, tu peux écrire dans un module standard du classeur A :
sub test() MsgBox bidon(25) end sub
ou dans une feuille de calcul du classeur A : =bidon(25)
Auteurs : Laurent Longre, Frédéric Sigonneau
Mots clefs associés à cette page : fichier, classeur, file, xls, fonction, function
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
