Problème avec EXPORT AU FORMAT PDF

SALUT Chers tous

Je suis entrain de passer un sale quart d'heure avec ma macro

Je voudrais sauvegarder au format pdf un document via une macro.

Elle a fonctionné correctement une fois et maintenant lorsqu'elle est exécutée un message d'erreur 5: " argument ou appel de procédure incorrecte "

je comprends plus rien. Quelqu’un pourrait- il m'apporter des explications ? Merci

Sub Sauvegarder_Registre()

Application.ScreenUpdating = False

With Sheets("Registres")

.Unprotect "2580"

.Range("$A$7:$B$39").AutoFilter Field:=2, Criteria1:="<>0", _

Operator:=xlAnd

Dim chemin As String

Dim fichier As String

chemin = ThisWorkbook.Path & "\Registres\"

If Dir(chemin, vbDirectory) = "" Then MkDir chemin

fichier = Sheets("Menu").Range("C11") & "-" & "Registre" & "-" & .Range("A2") & "_" & Format(Sheets("Menu").Range("C9"), "mmmm yyyy")

.PageSetup.PrintArea = ""

.PageSetup.PrintArea = .Range("A1:E39").Address

........................................................................................................................................................................ligne d'ou vient l'erreur

.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

chemin & fichier, Quality:=xlQualityStandard, _

IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

.AutoFilterMode = False

.Protect "2580"

End With

End Sub

Bonjour KTM, le forum,

J'ai testé ta macro, elle semble bien faire le job :

  • Enregistrement au format.pdf sur le même emplacement que le classeur, dans un dossier nommé Registres

Je n'ai pas d'erreur,

Sub Sauvegarder_Registre()
 Dim chemin As String
 Dim fichier As String

  chemin = ThisWorkbook.Path & "\Registres\"

Application.ScreenUpdating = False

 If Dir(chemin, vbDirectory) = "" Then MkDir chemin

  With Sheets("Registres")
   fichier = Sheets("Menu").Range("C11").Value & "-" & "Registre" & "-" & .Range("A2").Value & "_" & Format(Sheets("Menu").Range("C9"), "mmmm yyyy")
   .Unprotect "2580"
   .Range("$A$7:$B$39").AutoFilter Field:=2, Criteria1:="<>0", _
     Operator:=xlAnd
   .PageSetup.PrintArea = ""
   .PageSetup.PrintArea = .Range("A1:E39").Address
   .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     chemin & fichier, Quality:=xlQualityStandard, _
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
   .AutoFilterMode = False
   .Protect "2580"
End With
End Sub
3classeur1.xlsm (21.52 Ko)

Cordialement,

Bonjour KTM, le forum,

J'ai testé ta macro, elle semble bien faire le job :

  • Enregistrement au format.pdf sur le même emplacement que le classeur, dans un dossier nommé Registres

Je n'ai pas d'erreur,

Sub Sauvegarder_Registre()
 Dim chemin As String
 Dim fichier As String

  chemin = ThisWorkbook.Path & "\Registres\"

Application.ScreenUpdating = False

 If Dir(chemin, vbDirectory) = "" Then MkDir chemin

  With Sheets("Registres")
   fichier = Sheets("Menu").Range("C11").Value & "-" & "Registre" & "-" & .Range("A2").Value & "_" & Format(Sheets("Menu").Range("C9"), "mmmm yyyy")
   .Unprotect "2580"
   .Range("$A$7:$B$39").AutoFilter Field:=2, Criteria1:="<>0", _
     Operator:=xlAnd
   .PageSetup.PrintArea = ""
   .PageSetup.PrintArea = .Range("A1:E39").Address
   .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     chemin & fichier, Quality:=xlQualityStandard, _
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
   .AutoFilterMode = False
   .Protect "2580"
End With
End Sub

Classeur1.xlsm

Cordialement,

MERCI

ET toutes mes excuses à vous.

Je viens de me rendre compte que je suis en train de travailler sur un classeur ou des feuilles sont souvent masquées.

La macro étant située sur une autre feuille (Tableau de Bord ); je devais rendre ma feuille " Registre " visible avant de pouvoir l'exporter au format pdf. Donc ajouter .Visible=true a mon debut de code.

Sinon ma macro est correcte.

Merci pour votre intervention.

Rechercher des sujets similaires à "probleme export format pdf"