Exportation feuille de classeur - soucis de nom de fichier

Bonjour,

je me permets car j'ai soucis d'exportation de feuille de classeur sur une autre feuille séparer.

le message de débogage affiche " le nom du fichier n'existe pas"

le nom de fichier se compose de " texte & cellule"

la cellule contient une formule =MOIS.DECALER(D1;-1)

merci de votre aide

Option Explicit

Sub export_Déclaration()

' dupliquer la feuille active dans un  classeur fermé

    Dim nomFichier As String

    Dim sFolder As String
    Dim classeurActif As Workbook
    Dim classeurCible  As Workbook
    Dim chemin As String

    ' Chemin d'accès des pièces jointes
  sFolder = Application.ActiveWorkbook.Path & "\"

    nomFichier = "Declaration du" & Feuil1.Range("C1") & ".xlsx"

     ' Open the select folder prompt
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = "ici votre racine de destination" 'A adapter
        If .Show = -1 Then ' if OK is pressed
            sFolder = .SelectedItems(1)
        End If
    End With

    If sFolder <> "" Then ' if a file was chosen
    End If

    chemin = sFolder

      Worksheets("EMS").Copy

      ActiveWorkbook.SaveCopyAs chemin & "\" & nomFichier  'à adapter

      ActiveWorkbook.Close False

      Application.DisplayAlerts = True
      Application.ScreenUpdating = True

    MsgBox "Le Fichier a bien été enregistrée dans le répertoire choisi."

End Sub

Bonjour Ghazi17,

Avec le fichier, la réponse serait moins hasardeuse. Si la date comporte des / c'est la cause de l'erreur, les caractères \ / : " * ? < > | sont interdits dans les noms de fichier dans l'environnement Windows.

Dans ce cas la solution est d'appliquer un formatage de la date, par exemple :

Format$(Feuil1.Range("C1"), "YYYY-MM-DD")

qui te permet d'avoir un classement chronologique.

Bonsoir Cyflo

excellent et parfait et merci bp

j'ai modifié le format car je voulais janvier -2023

nomFichier = "Declaration du" & Format(Feuil1.Range("C1"), "MMMM-YYYY") & ".xlsx"

juste une question : tu as mis le signe $ après format , je voulais savoir pourquoi ? , c quoi le but ?

merci ta réponse .

Bonjour,

Il me semble qu'à l'origine Format() renvoyait un type variant et Format$() forçait un retour d'un type String. C'est juste une habitude que j'ai conservée et qui n'est pas à prendre

Rechercher des sujets similaires à "exportation feuille classeur soucis nom fichier"