Save as

ptibaz

XLDnaute Junior
Bonjour à tous !

j'ai un fichier prog.xls avec 6 onglets
je copie les 4 premiers et je l'enregistre

'chemin du nouveau fichier
prog_excel = ActiveWorkbook.Path & "\Prog - " & Format$(Date, "dd mmmm") & "(mail).xls"


'on copie les onglets qu'on veut envoyer par mail
Sheets(Array("PROGRAMMES", "Listes", "Récap groupe", "Thèmes")).Copy


ActiveWorkbook.SaveAs Filename:=prog_excel, FileFormat:=xlExcel8 'Enregistre le nouveau fichier format .xls
ActiveWorkbook.Close 'Ferme le fichier


Le problème c'est que dans le nouveau fichier créé, il me génère une liaison vers le fichier source (prog.xls ) alors qu'il n'a pas lieu d'être.

Quand je fais je fais "Rompre la liaison" dans le nouveau classeur tout va bien, pas de problème.
Comment faire pour me débarrasser de cette liaison externe sur le nouveau fichier?


Autre question:
quelle différence entre
FileFormat:=56 et FileFormat:=xlExcel8
 

MJ13

XLDnaute Barbatruc
Re : Save as

Bonjour ptibaz

Le problème est que tu spécifies toutes version. Donc suivant ta version, il vaut mieux aller voir avec l'enregistreur de macro, le code généré.

Sinon, tu peux faire un enregistrement avec as copy qui doit prendre en charge la même version, si c'est le cas.
 

ptibaz

XLDnaute Junior
Re : Save as

Merci à tous pour votre rapidité!

Moi j'ai excel 2010.
j'enregistre les 4 premiers onglets en .xls pour l'envoyer ensuite par mail car les destinataires ont excel 2003 ou moins

Merci pour vos macro pour tuer les liaisons.

Le problème c'est que dans mon fichier source je n'en ai pas de liaison.

En cherchant un peu j'ai compris pourquoi : j'ai des boutons qui pointent vers des macros sur le fichier source.
Je veux pas transmettre les macros et tant pis si les boutons sont inutiles.
je veux juste rompre les liaisons dans le NOUVEAU fichier.

comment faire?

merci d'avance pour vos tuyaux!
 

DoubleZero

XLDnaute Barbatruc
Re : Save as

Re-bonjour,

...En cherchant un peu j'ai compris pourquoi : j'ai des boutons qui pointent vers des macros sur le fichier source.
Je veux pas transmettre les macros et tant pis si les boutons sont inutiles...

Lors de la création du nouveau fichier, peut-être en insérant ce code destiné à supprimer tout bouton :

Code:
Option Explicit
Sub Liaison_par_bouton_supprimer()
    Dim o As Worksheet
    For Each o In Worksheets
        o.DrawingObjects.Delete
    Next
End Sub

Bon courage et à bientôt :)
 

Discussions similaires

Réponses
13
Affichages
1 K

Statistiques des forums

Discussions
312 488
Messages
2 088 861
Membres
103 979
dernier inscrit
imed