XL 2016 Nom de fichier ou numéro incorrect

KTM

XLDnaute Impliqué
Bonsoir chers tous
la macro ci dessous crée un sous dossier dans le "DossierA" et y exporte ma plage de données.
Mais il se trouve qu'une erreur ( 52 )revient me disant "Nom de fichier ou numéro incorrect" surtout a la ligne If Dir(chem, vbDirectory) = "" Then MkDir chem
J
e vous supplie de m'aider à comprendre et corriger. merci

VB:
Sub export()

Dim chemin$, a, i&, chem$
Dim fichier As String

fichier = Format(Range("F6"), "0000") & "-" & Range("F7") & "-" & Format(Range("F9"), "dd mm yyyy")
chemin = ThisWorkbook.Path & "\DossierA\" & Month([Menu!A4]) & "-" & Format([Menu!A4], "mmm yyyy") & "\" & fichier
        a = Split(chemin, "\")
        For i = 0 To UBound(a) - 1
            chem = chem & a(i) & "\"
            If Dir(chem, vbDirectory) = "" Then MkDir chem
        Next i

             With ActiveSheet
                .PageSetup.PrintArea = "$A$1:$L$246"
                .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
             chemin, Quality:=xlQualityStandard, _
             IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
            
          End With

End Sub
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @KTM,

Le code ci-dessous fonctionne bien.

C'est donc dans ces deux lignes que se situe l'anomalie. Vos valeurs sont sans doute incompatibles avec les règles de nommage des fichiers sous Windows.

Lignes provoquant l'anomalie :
Code:
fichier = Format(Range("F6"), "0000") & "-" & Range("F7") & "-" & Format(Range("F9"), "dd mm yyyy")
chemin = ThisWorkbook.Path & "\DossierA\" & Month([Menu!A4]) & "-" & Format([Menu!A4], "mmm yyyy") & "\" & fichier
Code qui fonctionne :
VB:
Sub test()

Dim chemin$, a, i&, chem$
Dim fichier As String

   fichier = "toto"
   chemin = ThisWorkbook.Path & "\DossierA\" & Month([Menu!A4]) & "-" & Format([Menu!A4], "mmm yyyy") & "\" & fichier
   a = Split(chemin, "\")
   For i = 0 To UBound(a) - 1
      chem = chem & a(i) & "\"
      If Dir(chem, vbDirectory) = "" Then MkDir chem
   Next i
   With ActiveSheet
      .PageSetup.PrintArea = "$A$1:$L$246"
      .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
         chemin, Quality:=xlQualityStandard, _
         IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
   End With
End Sub
 

KTM

XLDnaute Impliqué
Bonjour @KTM,

Le code ci-dessous fonctionne bien.

C'est donc dans ces deux lignes que se situe l'anomalie. Vos valeurs sont sans doute incompatibles avec les règles de nommage des fichiers sous Windows.

Lignes provoquant l'anomalie :
Code:
fichier = Format(Range("F6"), "0000") & "-" & Range("F7") & "-" & Format(Range("F9"), "dd mm yyyy")
chemin = ThisWorkbook.Path & "\DossierA\" & Month([Menu!A4]) & "-" & Format([Menu!A4], "mmm yyyy") & "\" & fichier
Code qui fonctionne :
VB:
Sub test()

Dim chemin$, a, i&, chem$
Dim fichier As String

   fichier = "toto"
   chemin = ThisWorkbook.Path & "\DossierA\" & Month([Menu!A4]) & "-" & Format([Menu!A4], "mmm yyyy") & "\" & fichier
   a = Split(chemin, "\")
   For i = 0 To UBound(a) - 1
      chem = chem & a(i) & "\"
      If Dir(chem, vbDirectory) = "" Then MkDir chem
   Next i
   With ActiveSheet
      .PageSetup.PrintArea = "$A$1:$L$246"
      .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
         chemin, Quality:=xlQualityStandard, _
         IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
   End With
End Sub
Merci
Mais le probleme est que je voudrais que le nom de mon fichier porte a chaque fois certaines informations:
fichier = Format(Range("F6"), "0000") & "-" & Range("F7") & "-" & Format(Range("F9"), "dd mm yyyy")
-Format(Range("F6"), "0000") : Numero d'ordre
-Range("F7"): Nom de la ville
-Format(Range("F9"), "dd mm yyyy") : Date de validation

Le code lancé tel que libellé par moi plus haut fonctionne une fois. Mais lorsqu'on le lance pour une deuxième fois ya problème.
J'ai l'impression que c'est la formulation du nom de mon fichier qui coince.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas