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 :

Sauvegarder un fichier excel à l'aide d'une macro en xlsx [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mars 2015
    Messages : 42
    Par défaut Sauvegarder un fichier excel à l'aide d'une macro en xlsx
    Bonjour,

    J'ai développé un bout de code en VBA et j'essaie d'enregistrer le résultat produit dans un nouveau fichier excel. Je veux que ce fichier soit un classeur sans macro, soit un xlsx (ou éventuellement un xls).

    Le pb c'est que malgré ce code pour l'enregistrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim nom As String                                           'nom de fichier + sauvegarde
        nom = "Reporting_teletrans_" & Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hhmm") & ".xlsx"
        ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & nom
        rep = MsgBox("Votre base de données est sauvegardée sous le nom : " & nom, vbYes + vbInformation, "Copie sauvegarde classeur")
     
        ActiveWorkbook.Close False
        Application.DisplayAlerts = True
    J'ai ce message d'erreur qui apparaît à l'ouverture :
    Nom : VBA format invalide.PNG
Affichages : 1661
Taille : 49,7 Ko

    Pourriez-vous m'aider ??
    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Salut à toi,

    Tu ne peux pas spécifier toi-même l'extension, enfin ce n'est pas du tout conseillé... Il faut s'intéresser au format par défaut
    Pour cela, tu as la propriété Application.DefaultSaveFormat

    Tu peux la changer ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
    FormatDeSauvegarde = Application.DefaultSaveFormat
    Application.DefaultSaveFormat = xlExcel12
     
    [Ton code]
     
    Application.DefaultSaveFormat = FormatDeSauvegarde
    End Sub
    Donc à la fin de la macro, il vaut mieux la remettre par défaut comme avant l'exécution du code.

    Dis-moi si ça te va !

    Quentin

  3. #3
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mars 2015
    Messages : 42
    Par défaut
    Ton code me permet de ne plus avoir de message d'erreur, en revanche le fichier sauvegardé pèse 0ko et est affiché dans l'explorateur Windows comme une classeur prenant en charge les macros...
    J'ai tenté ça à l'instant et ça marche sinon !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveAs ActiveWorkbook.Path & "\" & nom, FileFormat = xlOpenXMLWorkbook
    J'ai mis SaveAs au lieu de CopySaveAs, et cette fonction a comme argument FileFormat et ça m'a l'air de marcher

    Merci pour ton aide

  4. #4
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mars 2015
    Messages : 42
    Par défaut Bizarre
    Bizarre car la nouvelle ligne que j'ai ajoutée juste avant m'a permis d'enregistrer un fichier une fois. J'ai rééessayé par la suite sans succès....
    Ni ton code ni le mien ne fonctionne...

  5. #5
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mars 2015
    Messages : 42
    Par défaut Plus aucun fichier sauvegardé nest généré
    Re

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim nom As String                                           'nom de fichier + sauvegarde
        nom = "Reporting_teletrans_" & Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hhmm") & ".xlsx"
        ActiveWorkbook.SaveAs Filename = ActiveWorkbook.Path & "\" & nom, FileFormat = xlOpenXMLWorkbook
        rep = MsgBox("Votre base de données est sauvegardée sous le nom : " & nom, vbYes + vbInformation, "Copi sauvegarde classeur")
     
        ActiveWorkbook.Close False
    Je n'arrive vraiment pas à comprendre pourquoi d'un coup plus aucun fichier n'est généré en sauvegarde...

    Merci de votre aide !

  6. #6
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mars 2015
    Messages : 42
    Par défaut Okay !!!
    Bon,

    l'apprentissage est rude, le débutant que je suis avait mis des "=" au lieu de ":=" dans les arguments de SaveAs, maintenant ça marche comme par miracle...

    Désolé du flood

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

Discussions similaires

  1. ouvrir un fichier excel a partir d'une macro
    Par kuhnden dans le forum Access
    Réponses: 6
    Dernier message: 07/06/2007, 15h54
  2. [VBA]comment masquer des fichiers excel au démarrage d'une macro?
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2007, 15h33
  3. Sauvegarder un fichier Excel
    Par jarod_bx dans le forum Access
    Réponses: 4
    Dernier message: 29/05/2006, 13h40
  4. [VBA] Excell : demande d'aide pour une macro
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/01/2006, 16h28
  5. pb de sauvegarde de fichier excel
    Par sharpeye dans le forum Access
    Réponses: 7
    Dernier message: 25/11/2005, 16h20

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