[VBA] Exporter la feuille active au format xlsx

Bonjour,

J’essaie d'exporter une feuille Excel initialement au format .xlsxm au format .xlsx

Je pensais qu'avec ce genre de code ça fonctionnerait :

Option Explicit
Dim chemin$, nom$, cel As Range
Dim sChemin As String, Destination As String
Public nf As String
    sChemin = ThisWorkbook.Path
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = sChemin & "\"
        .Title = "Sélectionner le dossier de destination ..."
        .AllowMultiSelect = False
        .InitialView = msoFileDialogViewDetails
        .ButtonName = "Sélection destination"
        .Show

        If .SelectedItems.Count > 0 Then
            Destination = .SelectedItems(1) & "\" ''
        End If
    End With

    With ActiveSheet
        ActiveSheet.Copy: ActiveWorkbook.SaveAs Filename:=Destination & nf & ".xlsx", FileFormat:=xlOpenXMLWorkbook
        'ActiveSheet.Close
    End With

Mais la feuille qui est générée est toujours au format .xlsxm et essaie de lancer un code qui, du coup, engendre une erreur.

Savez-vous ce qui cloche ?

Avez-vous besoin d'un document pour tester ?

Bonne journée A plus tard !

Bonjour,

Tout proche ...

Un essai ...

Option Explicit

Dim chemin$, nom$, cel As Range
Dim sChemin As String, Destination As String
Public nf As String

Sub ExporterFeuille()

nf = "LeDrosophile" ' << pour fin de test

   sChemin = ThisWorkbook.Path
   With Application.FileDialog(msoFileDialogFolderPicker)
      .InitialFileName = sChemin & "\"
      .Title = "Sélectionner le dossier de destination ..."
      .AllowMultiSelect = False
      .InitialView = msoFileDialogViewDetails
      .ButtonName = "Sélection destination"
      .Show

      If .SelectedItems.Count > 0 Then
         Destination = .SelectedItems(1) & "\"   ''
      End If
   End With

   With ActiveSheet
      .Copy
      With ActiveWorkbook
         .SaveAs Filename:=Destination & nf, FileFormat:=xlOpenXMLWorkbook
         .Close
      End With
   End With
End Sub

ric

Bonjour,

J'ai toujours les erreurs.

Je joins un document qui imite le fonctionnement de celui sur lequel je travaille, pour illustrer, ce sera plus simple.

Merci

Bonjour,

Le problème provenait de Private Sub Worksheet_Activate() dont l'exécution des tâches interférait avec l'exportation de la feuille.

J'ai ajouté Application.EnableEvents = False pour contrer temporairement ces interférences ... il ne faut pas oublier de réactiver Application.EnableEvents = True

Un essai ...

ric

Bonsoir,

Ha merci c'était ça !

Vous m'avez encore beaucoup aidé sur ce problème !

Bonne soirée, à plus tard !

Rechercher des sujets similaires à "vba exporter feuille active format xlsx"