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

Mode arborescent

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
    Bonsoir

    j'ai une macro qui crée une autre macro.
    Mon problème est que cette nouvelle macro n'enregistre pas automatiquement le code.

    Voici un programme pour mieux comprendre (voir la PJ sinon)

    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
    43
     
    Sub test()
     
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim ligne As String 'lignes de la macro
    Dim nomVB As String
    Dim isVBEopen As Boolean 'true si l'editeur de macro est deja ouvert, false sinon (VBE = Visual Basic Editor)
    Dim x As Long
     
    If (Application.VBE.MainWindow.Visible = True) Then
        isVBEopen = True
    Else
        isVBEopen = False
        Application.VBE.MainWindow.Visible = True 'ouverture de l'editeur de macros pour pouvoir creer la nouvelle macro dans le classeur wb
    End If
     
    Set wb = Workbooks.Add 'ouverture d'un classeur vierge
    Set ws = wb.Sheets(1)
    ws.Range("A1").Value = 4
     
    ligne = ligne & "Private Sub Worksheet_Change(ByVal Target As Range)" & vbCrLf
    ligne = ligne & vbCrLf
    ligne = ligne & "If (Target.AddressLocal = ""$A$1"") Then" & vbCrLf
    ligne = ligne & "    ActiveSheet.Range(""$A$2"").Value = ActiveSheet.Range(""$A$1"").Value + 2" & vbCrLf
    ligne = ligne & "End If" & vbCrLf
    ligne = ligne & vbCrLf
    ligne = ligne & "End Sub"
     
    nomVB = Sheets(ws.Name).CodeName
     
    'ajout de la procedure dans la feuille
    With wb.VBProject.VBComponents(nomVB).CodeModule
        x = .CountOfLines + 1
        .InsertLines x, ligne
    End With
     
    'fermeture de l'editeur de macros s'il etait initialement ferme
    If (isVBEopen = False) Then Application.VBE.MainWindow.Visible = False
     
    wb.SaveAs Filename:="C:\Temp\testMacro.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
     
    End Sub
    Le problème est après. Si je ferme mon nouveau classeur puis que je le réouvre, la macro (qui fait A2 = A1 + 2) n'est pas enregistrée. En revanche, si je clique sur "Sauvegarder" puis que je ferme mon classeur puis que je le réouvre, là elle est sauvegardée. Pourtant j'avais bien fait un saveAs.

    Pourriez-vous me dire svp ce qui ne fonctionne pas dans mon code ?

    Merci beaucoup

    Très bonne soirée
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. sauvegarder une macro
    Par salseropom dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/09/2019, 14h55
  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