Aide sur une macro

bonjour a tous,

Je cherche a copier coller une feuille comprenant des formules(referant a une autre feuille du meme classeur) dans un autre classeur. Quand je copie-colle cette feuille, les formules gardent la reference au classeur source en ajoutant la reference de type '[Nomduclasseur.xls].

Je voudrais retirer cette reference dans la feuille collee.

du coup je pensais faire un petit bouton associe a une macro pour retirer cette reference.

Sub Update_Graphs()
   ActiveWorkbook.ChangeLink Name:="Nomduclasseur.xls", NewName _
        :=ActiveWorkbook.Name, Type:=xlExcelLinks
End Sub

PLutot que de mettre "Nomduclasseur.xls" dans mon code, est il possible de demander a excel de chercher tout seul quelles sont les references a un classeur externe et les supprimer?

Merci de votre aide

Bonjour à tous,

Tu peux essayer Edition/Remplacer : en sélectionnant toute la feuille.

[Nomduclasseur.xls], Remplacer par (laisser vide cette 2ème fenêtre)

et Remplacer tout.

ne pas oublier les crochets

Amicalement

Claude.

1v2.xlsm (165.29 Ko)

Bonjour,

je connais cette technique mais je voudrais le faire via une macro pour que les utilisateurs de ma feuille (quelques fois tres limite dans l'utilisation d'excel) aient juste a appuyer sur un bouton.

Merci quand meme pour la reponse.

3emma-v03.xlsm (179.12 Ko)

Bonsoir,

essaye ceci :

Sub Update_Graphs()
Dim ref
ref = ThisWorkbook.Name
ActiveWorkbook.ChangeLink Name:=ref, NewName _
:=ActiveWorkbook.Name, Type:=xlExcelLinks
End Sub

La macro est placée dans le classeur où sont les formules que tu as copiées dans le classeur 2.

Amicalement

Dan

Merci beaucoup Dan,

tout simplement genial, juste une variable qui prend le nom du classeur courant. comme quoi la programmation avant d'etre du code c'est d'abord de la reflexion

Juste une derniere question, est il possible de sauver la macro dans la feuille (celle que je copie et colle ensuite) et que mon bouton reste lie a la macro de la feuille (en gros que ma macro et la reference suivent la feuille la ou elle va)?

Merci de ton aide.

Re,

Oui c'est possible.

De mémoire essaye comme ceci :

  • Dans excel --> Affichage / Barre d'outils / Boite à outils contrôles (pas la boite formulaire)
  • Sélectionne l'objet bouton et dessine le sur ta feuille.
  • Une fois fait cela ouvre une fenêtre VBA dans laquelle tu peux coller le code que je t'ai donné. Il sera lié à ton bouton et fera partie de la feuille en question.

Bon j'aime pas trop les codes dans les feuilles mais pour ce que tu demandes tu peux faire comme cela.

Amicalement

Dan

Merci beaucoup Dan pour cette nouvelle astuce.

Ca marcherait tres bien sauf que:

soit classeur_S le classeur qui contient la feuille au depart

soit classeur_D le classeur destination dans lequel je colle ma feuille.

les formules dans la feuille du classeur_D sont de type [classeur_S.xls]formule

la fonction thisworkbook (etant donne que la macro est copiee avec la feuille) renvoie [classeur_D.xls]

et du coup la macro ne marche plus

est ce qu'il y a un moyen de dire a excel "trouve la reference a un classeur exterieur" et la mettre dans la variable?

Merci pour ton aide.

re,

Tu l'exécutes à partir de quel classeur cette macro. Du classeur S ou du classeur D ??

Le code que je t'ai donné le prévoit à partir du classeur S.

A te relire

Dan

Autant pour moi, je n'executais pas la macro dans le bon classeur et du coup, ca ne marchait pas. J'ai un peu cafouille.

Merci beaucoup pour ton aide Dan, ca m'a vraiment ete tres utile.

Merci le forum et ceux qui se sont interesses a la question.

Rechercher des sujets similaires à "aide macro"