Enregistrer ficher en format macro via VBA

Mjgreg67

XLDnaute Junior
Bonjour tout le monde :)

Je n'arrive pas a enregistrer mon fichier de telle sorte à ce que extension soit ".xlsm" (prenant en charge le macro)

Voici mon code :

Sub sauvegarder()
Dim extension As String
Dim chemin As String,
Dim nomfichier As String

extension = ".xlsx"
chemin = "C:\Users\Greg\Documents\"
nomfichier = ActiveSheet.Range("A6") & extension

With ActiveWorkbook

.SaveAs Filename:=chemin & nomfichier

End With

End Sub

Je pensais qu'il suffisait de mettre .xlsm pour que celui ci l'enregistre sous forme de fichier excel macro mais ce n'est pas le cas :s

Pourriez vous m'aider s'il vous plait ? Je vous en serai très reconnaissant :)

Merci d'avance !
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Enregistrer ficher en format macro via VBA

Bonjour Mjgreg,

Voilà typiquement une question à laquelle l'enregistreur de macro répond facilement ;)
tu enregistres une macro, tu sauvegardes un classeur en xlsm, puis tu regardes le code généré

chez moi ça donne un truc comme ça :

Code:
    ActiveWorkbook.SaveAs Filename:= _
        "C:\truc\Classeur2.xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
 

Mjgreg67

XLDnaute Junior
Re : Enregistrer ficher en format macro via VBA

Bonjour tototiti2008,

merci pour ta réponse ! :) Comment puis_je l'intégrer dans mon code ? :s
Car selon le tien, le classeur sera enregistrer au nom de "Classeur2". Néanmoins je souhaiterai qu'il enregistre en fonction du nom donné en cellule A6. D'ou le code : ActiveSheet.Range("A6")

Néanmoins ta remarque est forte intéressante : je ne pense jamais à utiliser l'enregistreur macro ! Merci pour ce conseil ^^

As tu une idée pour intégrer ton code dans le mien ? :)
 

tototiti2008

XLDnaute Barbatruc
Re : Enregistrer ficher en format macro via VBA

Re,

Oui, il suffit d'adapter le tien :

Code:
Sub sauvegarder()
    Dim extension As String
    Dim chemin As String, 
    Dim nomfichier As String
   
    extension = ".xlsm"
    chemin = "C:\Users\Greg\Documents\"
    nomfichier = ActiveSheet.Range("A6") & extension

    With ActiveWorkbook
      
        .SaveAs Filename:=chemin & nomfichier, FileFormat:= xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
     
    End With
    
    End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 504
Membres
103 565
dernier inscrit
Fabien78