Error 400 VBA - Mac et Windows 11

Chers amis d'Excel,

Je me permets de venir chercher un peu d'aide ici car j'avais une Macro qui fonctionnait à merveille, mais qui depuis que mon PC est passé sous Windows 11, me retourne une erreur 400 à la fin du processus.

La macro est simple, elle sauvegarde le document actuel sous un autre nom en récupérant des informations de 2 cellules.

Il y a une variante de macro pour les utilisateurs de Mac.

Voici le code qui me retourne l'erreur:

Sub EnregistrerClasseur()
    Dim dateDuJour As String
    Dim reference As String
    Dim nomFichier As String
    Dim cheminFichier As Variant

    ' Date du jour
    dateDuJour = Format(Date, "yyyy.mm.dd")

    ' Ref de la cellule C5
    reference = Range("C5").Value

    ' Creation du nom du fichier
    nomFichier = dateDuJour & "_" & reference & "_Note de frais.xlsm"

    ' Ouvrir la boite de dialogue pour choisir l'emplacement de sauvegarde
    #If Mac Then
        ' Utiliser la methode MacScript pour afficher la boite de dialogue sur Mac
        cheminFichier = MacScript("return POSIX path of (choose file name with prompt ""Enregistrer sous"" default name """ & nomFichier & """ default location (path to documents folder))")
    #Else
        ' Utiliser la boite de dialogue standard pour Windows
        With Application.FileDialog(msoFileDialogSaveAs)
            .InitialFileName = nomFichier ' Nom du fichier propose
            .FilterIndex = 1 ' Filtre pour les fichiers Excel
            If .Show = -1 Then ' Si l'utilisateur a selectionne un emplacement
                cheminFichier = .SelectedItems(1)
            Else
                Exit Sub ' Annuler si aucun emplacement selectionne
            End If
        End With
    #End If

    ' Enregistrer le classeur au format .xlsm avec le nom genere et l'emplacement choisi
    ThisWorkbook.SaveAs cheminFichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

Je vous remercie d'avance pour votre aide.

Bonne journée !

Bonjour,

Pas d'erreur constatée de mon côté sauf, si lors du choix de l'emplacement du fichier, je ne sélectionne pas l'extension" .xlsm", ce qui génère l'erreur 1004. sinon, c'est correct.

Cdlt

Merci Arturo,

Ta réponse m'a permis de voir ce qui ne jouait plus.

La ligne suivante doit être adapté avec la valeur 2 pour prendre automatiquement le format XLSM.

            .FilterIndex = 1 ' Filtre pour les fichiers Excel

J'ai adapté et tout est rétabli.

Cordialement

Rechercher des sujets similaires à "error 400 vba mac windows"