XL 2013 modifier code pour enregistrer en .xlsx

  • Initiateur de la discussion Initiateur de la discussion grisan29
  • 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 !

grisan29

XLDnaute Accro
bonjour a tous
j'ai ce code qui fonctionne très bien pour enregistrer le classeur actif en .xlsm et .PDF
mais au lieu d'enregistrer en .xlsm je le voudrais en .xlsx sans codes
Code:
Private Sub CommandButton1_Click()
Dim NomFicXL As String, CheminXL As String
    Dim NomFicPDF As String, CheminPDF As String
    Dim DLig As Long
    Dim shp As Shape
    Dim Sht As Worksheet

    Set Sht = ThisWorkbook.Sheets("Feuil1")

    'sauvegarde a partir de la dernière ligne écrite
    DLig = Sht.Range("A" & Rows.Count).End(xlUp).Row
    Dim NomDeFichier As String
    'donner le nom au fichier
    NomDeFichier = Sht.Range("B11").Value & " - " & Sht.Range("D10").Value
    NomFicXL = NomDeFichier & ".xlsm"
    NomFicPDF = NomDeFichier & ".pdf"
    'pensez a chager le chemin
    CheminPDF = "D:\essai perso\facturePDF" & "\"
    CheminXL = "D:\essai perso\Facturexlsx" & "\"

    ' Sauvegarder le classeur actif dans le chemin et le nom determiné
 
    ActiveWorkbook.SaveAs Filename:=CheminXL & NomFicXL, _
                          Password:="", WriteResPassword:="", _
                          ReadOnlyRecommended:=False, CreateBackup:=False

    ' Exporter en PDF
    ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CheminPDF & NomFicPDF, Quality:= _
                                                   xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                                   OpenAfterPublish:=False
 
    MsgBox "Votre sauvegarde porte la référence : " & " " & NomFicXL & vbCrLf _
         & "Le fichier PDF à été créé sous le nom : " & NomFicPDF
End Sub
je ne comprends pas ou le faire
quand je change
Code:
NomFicXL = NomDeFichier & ".xlsm"
en .xlsx
c'est ce bloc qui bug
Code:
ActiveWorkbook.SaveAs Filename:=CheminXL & NomFicXL, _
                          Password:="", WriteResPassword:="", _
                          ReadOnlyRecommended:=False, CreateBackup:=False

et aussi pourquoi la feuille active prends le nom de la sauvegarde
Pascal
 
Dernière édition:
Bonjour Pascal 🙂

NomFicXL = NomDeFichier & ".xlsx" et il manque FileFormat:=

ActiveWorkbook.SaveAs Filename:=CheminXL & NomFicXL, FileFormat:=xlOpenXMLWorkbook,

.xlsm = xlExcel8 ou 56
.xlsx = xlOpenXMLWorkbook ou 51
 
Dernière édition:
bonjour Lone-Wolf
merci de m'avoir dit ce que j'avais oublier mais je saisi pas pour xlsx
Code:
ActiveWorkbook.SaveAs Filename:=CheminXL & NomFicXL, FileFormat:=xlExcel8, _
mais si je mets ileFormat:=xlOpenXMLWorkbook ca bug avec xlm

Bein, c'est bien toi qui à dit ceci : mais au lieu d'enregistrer en .xlsm je le voudrais en .xlsx sans codes.

Là je ne suit plus. D'abord tu veux le sauvegarder : ActiveWorkbook.SaveAs Filename et maintenant tu ne veux plus??? 🙄

Pour le chemin, tu peux ajouetr une variable : Dim Fichier As String

Fichier = "C:\Users\ etc.

Workbooks.Open(Fichier) - ActiveWorkbook.Sheets(1).Activate
 
Dernière édition:
Bonjour Lone wolf

bien sûr que si, je veux sauvegarder mais à ta 1ère réponse j'ai pas réussi de suite a appliquer ta solution .xlsx voici comment il marche très bien MERCI



Code:
 Application.DisplayAlerts = False

    ActiveWorkbook.SaveAs Filename:=CheminXL & NomFicXL, FileFormat:=xlOpenXMLWorkbook, _

                          Password:="", WriteResPassword:="", _

                          ReadOnlyRecommended:=False, CreateBackup:=False

et voici comment j'ai mis 2 lignes de code qui ferme et re-ouvre le classeur, c'est peut être pas la meilleure mais fonctionne
Code:
Application.ScreenUpdating = False

  Application.EnableEvents = False

  'fermer et réouvrir le classeur source, pas trouvé autre solution pour éviter _

  que le classeur source garde le nom de la sauvegarde

    Workbooks.Open Filename:="C:\Users\Pascal\Desktop\test pdf et xlsx"

    'Sheets("Feuil1").Select

    ThisWorkbook.Close False


  Application.ScreenUpdating = True

  Application.EnableEvents = True


Pascal
 
- 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

  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
246
Réponses
3
Affichages
673
Réponses
10
Affichages
547
Réponses
2
Affichages
511
Réponses
2
Affichages
586
Retour