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
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.