Microsoft 365 Save as xlsx

  • Initiateur de la discussion Initiateur de la discussion Jon1197
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jon1197

XLDnaute Nouveau
Bonjour,

Je suis un novice de chez novice en VBA et je voudrais souvegarder la feuille active en xlsx (une nouvelle à chaque fois, pas en remplaçant l'actuelle). le code ci-dessous en pdf fonctionne très bien mais dès que je chage le format en xlsx dans le code cela ne fonctionne plus.

ChDir _
"C:\XXXXXXXX\1_Cuisine\3_Recettes"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\XXXXXXXX\1_Cuisine\3_Recettes\1_Cuisine\3_Recettes\" & Range("A4").Value & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True


Egalement, connaissez vous le code pour pour enregistrer en PDF, donc le même code qu'en haut mais dans un fichier en fonction du nom d'une cellule (en l'occurence C2). Le chemin serait comme suit: (après 1_Fiche Recette = choix du dossier en fonction de la cellule C2

ChDir _
"C:\XXXXXXXX\1_Cuisine\3_Recettes\1_Fiche Recette"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\XXXXXXXX\1_Cuisine\3_Recettes\1_Cuisine\3_Recettes\\1_Fiche Recette" & Range("A4").Value & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True

Merci d'avance pour votre aide la communauté 🙂

Jonathan
 
Bonjour Jon1197, bienvenue sur XLD,

Votre fichier étant enregistré avec l'extension .xlsm mettez cette macro où vous voulez dans VBA et exécutez-la :
VB:
Sub Sauvegarde()
Application.ScreenUpdating = False
ActiveSheet.Copy
With ActiveWorkbook
    .SaveAs ThisWorkbook.Path & "\Mon fichier " & Format(Now, "dd-mm-yyyy-hhmmss"), 51 'format xlsx
    .Close
End With
End Sub
Le fichier .xlsx est créé dans le même dossier.

A+
 
Bonjour Jon1197, bienvenue sur XLD,

Votre fichier étant enregistré avec l'extension .xlsm mettez cette macro où vous voulez dans VBA et exécutez-la :
VB:
Sub Sauvegarde()
Application.ScreenUpdating = False
ActiveSheet.Copy
With ActiveWorkbook
    .SaveAs ThisWorkbook.Path & "\Mon fichier " & Format(Now, "dd-mm-yyyy-hhmmss"), 51 'format xlsx
    .Close
End With
End Sub
Le fichier .xlsx est créé dans le même dossier.

A+

bonjour 🙂 Merci, ça fait déjà longtemps que je suis tous vos conseils mais la je me suis dit faut s'inscire et aller plus loin.

Top pour le code, ça fonctionne et j'ai pu rajouter mon chemin et le nom désiré en fonction de la cellule. Merci.

une idée pour ça ?
Egalement, connaissez vous le code pour pour enregistrer en PDF, donc le même que ci-dessous mais dans un fichier en fonction du nom d'une cellule (en l'occurence C2). Le chemin serait comme suit: (après 1_Fiche Recette = choix du dossier en fonction de la cellule C2

ChDir _
"C:\XXXXXXXX\1_Cuisine\3_Recettes\1_Fiche Recette"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\XXXXXXXX\1_Cuisine\3_Recettes\1_Cuisine\3_Recettes\\1_Fiche Recette" & Range("A4").Value & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
 
Bonsoir Jonathan, Job, Kiki

Pour le pdf :

Code:
Sub Creation_Recette_Pdf()
'Chemin demandé
'C:\XXXXXXXX\1_Cuisine\3_Recettes\1_Cuisine\3_Recettes\\1_Fiche Recette" & Range("A4").Value & ".pdf" _
' C:\XXXXXXXX\
'1 = Dossier ==> 1_Cuisine\
'2 = Dossier ==> 3_Recettes\
'3 = Dossier ==> 1_Cuisine\
'4 = Dossier ==> 3_Recettes\
'5 = Dossier ==> 1_Fiche Recette\
'6 = Nom du fichier ==> & Range("C2").Value & ".pdf"

'Vérification si un nom de recette existe
If Range("C2") = "" Then MsgBox "Pas de nom de recette !", vbCritical, "Enregistrement impossible !": Exit Sub

VarNomRecette = Range("C2")

Chemin = "C:\Users\" & Environ("UserName")

'1)     Verification si le dossier "1_Cuisine" existe sinon creation
Dossier = "1_Cuisine"
Chemin = Chemin & "\" & Dossier
If Dir(Chemin, vbDirectory) = "" Then MkDir Chemin

'2)     vérification que le sous dossier "3_Recettes" existe sinon creation
Dossier = "3_Recettes"
Chemin = Chemin & "\" & Dossier
If Dir(Chemin, vbDirectory) = "" Then MkDir Chemin

'3)     vérification que le sous dossier "1_Cuisine" existe sinon creation
Dossier = "1_Cuisine"
Chemin = Chemin & "\" & Dossier
If Dir(Chemin, vbDirectory) = "" Then MkDir Chemin

'4)     vérification que le sous dossier "3_Recettes" existe sinon creation
Dossier = "3_Recettes"
Chemin = Chemin & "\" & Dossier
If Dir(Chemin, vbDirectory) = "" Then MkDir Chemin

'5)     vérification que le sous dossier "1_Fiche Recette" existe sinon creation
Dossier = "1_Fiche Recette"
Chemin = Chemin & "\" & Dossier
If Dir(Chemin, vbDirectory) = "" Then MkDir Chemin

'6)     Création du fichier pdf
NFichier = Chemin & "\" & VarNomRecette & ".pdf"

'Création du fichier PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NFichier, Quality _
        :=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

MsgBox "La recette été enregitré." & vbCrLf & vbCrLf & "Ici ==> " & Chemin & vbCrLf & vbCrLf & _
"Sous le nom : " & VarNomRecette & ".pdf", 48, "Enregistrement recette en PDF ..."

End Sub

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
247
  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
317
Réponses
3
Affichages
932
Réponses
10
Affichages
655
Réponses
3
Affichages
800
Retour