Thisworbook.name &

Bonsoir,

J'ai fais une macro dans laquelle je créé un bouton pour revenir au sommaire en faisant appel à une autre macro dans un autre module.

Cela fonctionne très bien lorsque je ne change pas le nom du fichier mais le nom est changé à l'ouverture pour identifier l'agence et la période analysée. De ce fait, le lien n'est plus trouvé

Mon code est le suivant

ActiveSheet.Shapes.Range(Array("TextBox 1")).Select

Selection.OnAction = _

"'Macro Analyse frais Généraux.xlsm'!Retour_sommaire.Retour_sommaire"

Range("B12").Select

Je pensais faire un code du genre :

'Selection.OnAction = "' & Thisworbook.name & " '!Retour_sommaire.Retour_sommaire"

mais cela ne fonctionne pas.

Dois-je mettre .xlms, des espaces ou autres....

Dois-je définir Thisworbook avant

Merci de votre aide

Bonsoir,

en effet vous pourriez mettre en mémoire les deux classeur dans deux objets "classeurs" ensuite il suffira d'utiliser ces objets pour sélectionner l'un ou l'autre classeur.

Enfin je crois

@ bientôt

LouReeD

Non, le nom du fichier ne sera jamais le même.

Il faut que mon code marche quelque soit le nom du fichier. Il faut donc qu’il l’identifie par le nom du fichier ouvert.

Bonjour,

si la macro appelée est dans le classeur lui-même il parait inutile de le citer puisque c'est la valeur par défaut.

eric

Bonjour tout le monde,

Eric ( ) a raison, si la macro et la zone de texte sont dans le classeur qu'importe son nom ?

Et puis, ça ne sert à rien de sélectionner l'objet au préalable, on peut définir sa propriété OnAction directement :

ActiveSheet.Shapes("TextBox 1").OnAction = "Retour_sommaire"
Rechercher des sujets similaires à "thisworbook name"