Problème d'exécution 1004 Methode SaveAs a échoué

Bonjour,

Je ne parviens pas a débuguer ma macro.

Pour information, elle a fonctionné pendant plusieurs années et depuis peu j'ai des instructions qui plantent.

Ici la méthode SaveAs qui échoue.

ActiveWorkbook.SaveAs Filename:=chemin, FileFormat:=xlCSV, Local:=True

Ma fonction complète ci-dessous.

Sub Generer_fichier()

    If Not IsEmpty(ActiveWorkbook.Worksheets("Configuration").Range("D9")) And Not IsEmpty(ActiveWorkbook.Worksheets("INPUT_DEVIS").Range("C2")) And Not IsEmpty(ActiveWorkbook.Worksheets("INPUT_RAMES").Range("B8")) Then

        ActiveWorkbook.Save
        ActiveWorkbook.RefreshAll

        If IsEmpty(ActiveWorkbook.Worksheets("CSV_LIGNES_DEVIS_RAMES").Range("A2")) Then
            MsgBox "Les prestations n'ont pas été ventilées par type de rame"
        Else
            Dim dossier$, fichier$, chemin$

            With Application.FileDialog(msoFileDialogFolderPicker)
                If .Show <> 0 Then dossier = .SelectedItems(1) & "\" Else Exit Sub
            End With

            '---------------Debut export rames----------------------
            fichier = "1 - Export_rames_" & ActiveWorkbook.Worksheets("Configuration").Range("D9").Value & "_" &       ActiveWorkbook.Worksheets("Configuration").Range("D11").Value & "_" & Format(Now, "yyyymmdd")

            chemin = dossier & fichier
            If Dir(chemin) <> "" Then
                If MsgBox("Le fichier existe déjà ! Voulez-vous le remplacer ?", vbYesNo + vbExclamation, "Demande de confirmation") <> vbYes Then Exit Sub
            End If

            Application.ScreenUpdating = False
            Application.DisplayAlerts = False
            ThisWorkbook.Worksheets("CSV_RAMES").Visible = True
            ThisWorkbook.Worksheets("CSV_RAMES").Copy
            ActiveWorkbook.SaveAs Filename:=chemin, FileFormat:=xlCSV, Local:=True
            ActiveWorkbook.Close
            Application.DisplayAlerts = True
            ThisWorkbook.Worksheets("CSV_RAMES").Visible = False
            Application.ScreenUpdating = True
            MsgBox "Votre fichier a été exporté " + fichier, , "EXPORT RAMES"
            '---------------Fin export rames----------------------
        End If
    Else
        If IsEmpty(ActiveWorkbook.Worksheets("Configuration").Range("D9")) Then
            MsgBox "L'affaire n'a pas été sélectionnée"
        Else
            If IsEmpty(ActiveWorkbook.Worksheets("INPUT_DEVIS").Range("C2")) Then
                MsgBox "Le devis n'a pas été importé"
            Else
                MsgBox "Les rames n'ont pas été saisies"
            End If
        End If
    End If

End Sub

J'utilise actuellement Excel Microsoft 365 Version 2406.

Merci d'avance pour votre aide.

Bien cordialement

Bonjour, quelques pistes :

Je vois que votre macro essaie d'exporter un workbook, donc un classeur avec potentiellement plusieurs feuilles, en CSV = fichier texte ne pouvant contenir les valeurs que d'une feuille maximum. Avez-vous essayé de lancer la macro avec une feuille unique ?

Pourquoi exécutez-vous cette commande sans définir de collage derrière ?

ThisWorkbook.Worksheets("CSV_RAMES").Copy

Etes-vous sur que votre variable "chemin" est définie correctement dans la fenetre espion ?

Pourquoi votre macro mélange activeworkbook et thisworkbook ? C'est difficile à suivre, peut etre que vous exportez le mauvais fichier.

Bonjour saboh12617,

Etes-vous sur que votre variable "chemin" est définie correctement dans la fenetre espion ?

Il y avait un problème de '/' ajouté à tort dans la chaine de caractères...

Merci pour l'aide.

Rechercher des sujets similaires à "probleme execution 1004 methode saveas echoue"