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 une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut sauvegarder une macro
    Bonjour,

    j'ai créé une macro qui génère un fichier de sortie au format xlsm car ma macro génère du code pour ce fichier de sortie. Mon souci est que le code nouvellement créé par ma macro ne s'enregistre pas.

    Mon code est le suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    'sauvegarde du fichier au format xlsm (pour pouvoir enregistrer une macro)
    fileOut = repOut & "ref021 " & moisReporting(1) & " vs " & moisReporting(2) & ".xlsm"
    wbRef021.SaveAs fileName:=fileOut, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
     
    'mise a jour automatique de l'ecran
    Application.ScreenUpdating = True
     
    'pour revenir a la configuration initiale
    Application.DisplayAlerts = True
     
    'deblocage du recalcul automatique
    Application.Calculation = xlCalculationAutomatic
     
    'confirmation de la mise a jour automatique des liens
    Application.AskToUpdateLinks = True
     
    'affichage de la boite de dialogue
    MsgBox "Fin de l'exécution de la macro.", vbOKOnly, "Information"
    A la fin, j'ai une boîte de dialogue qui s'affiche : voulez-vous sauvegarder les modifications ? Si je dis "oui", mon code est bien enregistré, si je réponds "non", il ne l'est pas. Savez-vous pour quelle raison j'ai cette boîte de dialogue ? Et comment ne plus l'avoir ?

    Merci bcp

    Bonne journée

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    selon votre partie de code normalement vous avez déjà désactivé la boite de dialogue avant l'opération de l'enregistrement non?
    c a d passer Application.DisplayAlerts = False

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    Bonjour, oui tout à fait.

    Voici mon code "total"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    Sub main()
     
    'ici il y a la declaration de toutes les variables
     
    'calcul automatique
    Application.Calculation = xlCalculationAutomatic
     
    'mise a jour automatique de l'ecran
    Application.ScreenUpdating = False
     
    'pour ne pas avoir de boite de dialogue qui s'ouvre lors de la fermeture d'un classeur
    Application.DisplayAlerts = False
     
    'confirmation de la mise a jour automatique des liens
    Application.AskToUpdateLinks = False
     
    'ici il y a le coeur de calcul qui génère le classeur de sortie wbRef021
     
    'calcul de tout le classeur
    Application.CalculateFullRebuild
     
    'sauvegarde du fichier au format xlsm (pour pouvoir enregistrer une macro)
    fileOut = repOut & "ref021 " & moisReporting(1) & " vs " & moisReporting(2) & ".xlsm"
    wbRef021.SaveAs fileName:=fileOut, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
     
    'mise a jour automatique de l'ecran
    Application.ScreenUpdating = True
     
    'pour revenir a la configuration initiale
    Application.DisplayAlerts = True
     
    'deblocage du recalcul automatique
    Application.Calculation = xlCalculationAutomatic
     
    'confirmation de la mise a jour automatique des liens
    Application.AskToUpdateLinks = True
     
    'affichage de la boite de dialogue
    MsgBox "Fin de l'exécution de la macro.", vbOKOnly, "Information"
     
    End Sub

Discussions similaires

  1. [XL-2010] Peut-on sauvegarder une copie du classeur des macros personnelles?
    Par statista dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/03/2011, 10h11
  2. [XL-2007] erreur 80004005 a la sauvegarde d'un ppt par une macro
    Par loloiss dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/01/2011, 15h00
  3. [PPT-2007] Sauvegarder une presentation sans les macros
    Par Akxn0008 dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 08/07/2009, 18h06
  4. [E-07] Exécution sans interruption d'une macro automatique de sauvegarde
    Par JMVBAExcel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/01/2009, 20h40
  5. Commande pour ajouter une sauvegarde dans une macro
    Par Tinien dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/09/2008, 14h03

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