IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Enregistrement sous de xls à xlsm [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 442
    Par défaut Enregistrement sous de xls à xlsm
    Bonjour

    un petit souci de syntaxe.
    Un userform me permet d'ouvrir un fichier qui a une extension xls, je souhaite dans la foulée qu'il soit automatiquement enregistré avec l'extension xlsm

    mais j'ai un problème de syntaxe
    si vous pouviez me dépanner
    merci

  2. #2
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut
    Bonjour,

    Si tu es sous 2007 ou 2010:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.SaveAs "C:\toto.xlsm", fileformat:=52
    Cordialement.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 442
    Par défaut
    merci
    cela marche bien même avec l'enregistreur

    mais moi je veux enregister le fichier excel que j'ouvre (il est en xls) en fichier xlsm en conservant le même nom

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.SaveAs Split(ThisWorkbook.FullName, ".xls")(0) & ".xlsm", 52

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 442
    Par défaut
    j'ai écris ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    chemin = ActiveWorkbook.Name
    pos = InStr(chemin, ".xls")
    nomfichier = Left(chemin, pos - 1)
     
           ActiveWorkbook.SaveAs Filename:= _
            repertoire & nomfichier & ".xlsm", _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    j'obtiens bien une extension xlsm mais suivi de (mode de compatibilité)

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Après avoir sauvegardé le fichier au format xlsm, ferme et réouvre ton fichier, le mode de compatibilité devrait disparaître.

    Pour cette partie du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    chemin = ActiveWorkbook.Name
    pos = InStr(chemin, ".xls")
    nomfichier = Left(chemin, pos - 1)
    Ceci fonctionne aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomfichier = Split(ThisWorkbook.Name, ".xls")(0)

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 442
    Par défaut
    grace à vos contributions, j'ai résolu mon pb en rajoutant les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            ActiveWorkbook.SaveAs Filename:= _
            repertoire & nomfichier & ".xlsm", _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
            ActiveWorkbook.Close
            Workbooks.Open Filename:=repertoire & nomfichier & ".xlsm"
    ça fonctionne
    merci pour tout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Enregistrer sous ".XLS"
    Par yoyo3d dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/01/2013, 08h54
  2. [XL-2007] Feuille XLS enregistrer sous txt
    Par 0916paps dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/10/2010, 09h22
  3. Generation xls + enregistrer sous
    Par tim53000 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 24/06/2010, 17h10
  4. Réponses: 6
    Dernier message: 22/10/2007, 00h04
  5. table vers excel "enregistrer sous" date.xls
    Par zougna dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/07/2007, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo