Enregistrer un classeur après éxécution de la macro

  • Initiateur de la discussion Initiateur de la discussion Moulinois
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Moulinois

XLDnaute Occasionnel
Bonjour,

J'éxécute une macro sur un fichier extrait du logiciel de GPAO.
Je souhaite ensuite l'enregistrer.

Problème : le fichier originel a bien l'extension *.xls mais est au format works. Comment l'enregistrer à la fin de l'éxécution avec le format Excel que nous aimons tant ?

A plus.
 
Re : Enregistrer un classeur après éxécution de la macro

Bonjour,

"enregistrer sous" type de fichier: "Classeur Microsoft Office Excel (*.xls), le premier dans la liste(sous excel 2003 en tout cas).
Je vois pas trop le problème 😕.
 
Re : Enregistrer un classeur après éxécution de la macro

Pardon, ma question n'était pas complète : Comment le faire avec une macro (en conservant le même nom etc) ?

(Ce que me donne l'enregistreur de macro l'enregistre à nouveau en "*.xls works")
 
Dernière édition:
Re : Enregistrer un classeur après éxécution de la macro

Re,

si tu passes par l'enregistreur de macro en reprenant ce que je t'ai dis plus haut, ça doit donner ceci (en bleu pour le type de fichier):

Code:
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\gilbert\Mes documents\Classeur1.xls", [COLOR=Blue][B]FileFormat:= _
        xlNormal[/B][/COLOR], Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
 
Re : Enregistrer un classeur après éxécution de la macro

Vérification faite : je reste en "works 1-2-3" 🙁

Si, en revanche, je change de nom c'est bon. Alors faut-il que je change de nom en l'enregistrant, que je supprime le premier et que je renomme le nouvel enregistrement avec le premier nom ?
 
Dernière édition:
Re : Enregistrer un classeur après éxécution de la macro

Bonjour Moulinois, skoobi, le forum,

Et si tu fais clic droit sur ton fichier dans l'explorateur et Ouvrir avec, il va te proposer le type de programme et, là, tu choisis Excel, et de mémoire cocher Toujours ouvrir ou quelque chose du genre.

L'enregistrement devrait bien ce faire ensuite, enfin mon idée.

A te lire.

Bonne journée.

Jean-Pierre
 
Re : Enregistrer un classeur après éxécution de la macro

(Re)Bonjour jeanpierre, skoobi, le forum,

Et si tu fais clic droit sur ton fichier dans l'explorateur et Ouvrir avec, il va te proposer le type de programme et, là, tu choisis Excel, et de mémoire cocher Toujours ouvrir ou quelque chose du genre.

L'enregistrement devrait bien ce faire ensuite, enfin mon idée.
L'extension est déjà *.xls et le fichier s'ouvre bien avec excel.
Il se modifie comme je le veux.
Mais quand je veux l'enregistrer, il me dit que le type de fichier n'est pas compatible avec la nouvelle mise en forme etc.
Et quand je souhaite l'enregistrer sous..., il me propose par défaut un enregistrement avec une extension *.xls MAIS en format works par défaut.

-> Je peux changer le format bien sûr mais je voudrais que ce soit automatiquement fait par macro.

(J'ai fait ce que tu as dit et le problème est le même).



Je vous joins mon fichier pour test (chuis idiot de ne pas l'avoir fais plus tôt).


A plus,
 

Pièces jointes

Re : Enregistrer un classeur après éxécution de la macro

Re,

Lorsque l'on ouvre ton fichier et que l'on veut le sauvegarder, il met bien l'extention WK etc, mais en plus il met des guillemets et des parenthèses.

Tu supprimes tout cela et tu chosis excel, je viens d'essayer plusieurs fois et cela fonctionne.

Fais l'essai et dis nous.
 
Re : Enregistrer un classeur après éxécution de la macro

Bonjour, à tous

Tu peux tester cette macro, mais bon cela marche qu'en prenant les 4 premiers caractères (sinon, il faut adapter la macro).
Code:
Sub Renomme_WKS_4Caract()
' Macro enregistrée le 07/05/2008 par MJ
Stop'F8 pour avancer pas à pas CTRL+Shift+F8 pour continuer
    ActiveWindow.ActivateNext
    nomf = Application.ActiveWorkbook.Name
   
   nomfin = Left(nomf, 4) & ".xls"
   ChDir "C:\"'Chemin à adapter
    ActiveWorkbook.SaveAs Filename:="C:\" & nomfin, FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False
End Sub
 
Re : Enregistrer un classeur après éxécution de la macro

Re,

Merci pour votre aide.
J'ai fait ça qui marche.

Code:
Sub Enreg()
    Name = Application.ActiveWorkbook.Name
'    MsgBox Name
    
    Chem = Application.ActiveWorkbook.Path
'    MsgBox Chem
    
    ChDir Chem & "\"
    ActiveWorkbook.SaveAs Filename:=Chem & "\" & Name, FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False
End Sub

Reste une question : que faire pour qu'il ne me demande pas si je suis certain de vouloir remplacer le fichier qui s'appelle déjà comme ça ?

EDIT : Fait avec Application.DisplayAlerts = False/True

@+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour