Plusieurs Excel pointe dans Un

Bonjour Le Forum,

Je suis confronté à un soucis, j'espère que vous pourrez m'apporter une solution !

A l'heure actuel j'étend mes formules dans mon classeur en passant par "Gestionnaire de noms". Du coup si j'ai une erreur sur mon excel j'ai juste à modifier une seule formule et pas besoins de l'étendre.

Jusque là tout va bien mais ...

J'ai 20 Excel exactement identique. Je viens de m’apercevoir qu'une formule n'était pas bonne. Je dois donc la changer dans mes 20 Excel... Je me demandais alors si il n'était pas possible que ces 20 Excel puissent aller pointer dans un Excel "Donnée de Formule" en passant par le gestionnaire de nom ?

J'ai essayé un truc du genre

='Donnée de Formule.xlsm'!test

mais ça n'a pas fonctionné...

Exemple:

Test3 possède la formule dans gestionnaire de nom

Et Test2 dans la cellule.

5test2.xlsm (8.26 Ko)
5test3.xlsm (7.55 Ko)

Bonjour,

On appelle ça une fonction Perso et on la met dans un classeur de macro complémentaire...

Faisons un Essai :

Ouvre un nouveau classeur avec une seule feuille (Feuil1)

On n'écrira rien dans cette feuille pour cet exemple.

Va dans le VBA de ce nouveau classeur et créé un nouveau module (Module1)

Dans ce nouveau module créé ta fonction complémentaire :

Public Function AIREC()
'Cette fonction renvoie la surface d'un cercle dont le diamètre est contenu dans la cellule A1
Application.Volatile
AIREC = WorksheetFunction.Pi * [A1] ^ 2
End Function

Toujours dans VBA dans le ruban VBA > fichier fait enregistrer sous... Parcourir et dans la liste des modèles de fichiers (vers le bas) choisi Complément Excel (*.xlam) et donne lui le nom "Perso" comme indiqué dans l'image ci dessous. Valider.

Note au passage (en haut) le chemin de ce fichier. (sans le modifier)

persoxlam

Tu peux maintenant fermer ton perso.xlam et mettre cette fonction perso à disposition de tous tes classeurs :

Pour cela il suffit d'ouvrir tous les classeurs qui devront disposer de cette fonction perso puis dans le ruban (Excel) > Développeur > cocher Perso

complexcel

Puis enregistrer le classeur.

Ce classeur dispose désormais de cette nouvelle fonction AIREC au même titre que les fonctions natives d'Excel

Dans la cellule A1 mets un nombre... Dans une cellule voisine écris

= AIREC() puis valide. La surface de ton cercle est affichée.

Il en sera ainsi pour tous les classeurs ou tu auras coché et enregistré ce complément.

Mieux dans ce complément "PERSO" tu peux rajouter de multiples fonctions qui te seront utiles et même de véritables petits programmes. Toutes ces nouvelles fonctions ou programmes seront disponibles pour ces classeurs.

Pour modifier le classeur perso, rajouter ou modifier des fonctions ou procédures, il suffit d'aller dans VBA il est visible dans la fenêtre VBA project. Attention de ne pas oublier d'enregistrer ton perso.xlam pendant que sa fenêtre est active dans VBA Project.

VBA ne te demandera jamais si tu veux enregistrer les modifications de ton complément. En tant que programmeur tu es censé être assez expérimenté pour ne pas oublier...

Je t'ai proposé de l'enregistrer sous... PERSO, mais n'importe quel nom peut faire l'affaire BANANE, PAPILLON, GALOPIN ou BOULOT conviendront parfaitement.

Tu peux même choisir d'avoir plusieurs classeurs de macros complémentaires que tu affecteras à différents classeurs selon tes besoins. Tu n'auras sans toute jamais besoin de la surface du cercle pour calculer ton budget familial. En revanche à ton boulot dans la complémentaire "BOULOT" ça pourrait bien être utile...

Vala... Et plus besoins de rien enregistrer dans le Gestionnaire de Noms !

A+

Rechercher des sujets similaires à "pointe"