XL pour MAC VBA - Enregistrement d'une page en Pdf

ArnaudSi

XLDnaute Nouveau
Bonjour

Je cherche à enregistrer une page de Facture (situé sur la feuille "Commande ") en Pdf à l'aide d'un bouton (situé sur la page "Calcul")

L'enregistrement du pdf est fait de manière qu'il porte le nom du fichier, du client, de la référence, de la date et de l'heure à laquelle il est saisie.

Les premières fois la macro fonctionnait parfaitement et à partir d'un moment s'affiche alors à la ligne "ExportAsFixedFormat Type:= ..." : L'erreur d'exécution "1004" : Erreur définie par l'application ou par l'objet

VB:
Sub FacturePdf()

Dim Reponse As Integer

       
NomClient = "Facture " & Range("B5") & " Ref " & Range("G5").Value & " Saisie le " & Format(Now(), "dd-mm-yyyy à Hh-Nn") & ".pdf"

Reponse = MsgBox("Confirmez-vous la création d'un pdf pour la Facture ?", vbYesNo)
If Reponse = vbYes Then

        With Sheets("Commande")
       
                Sheets("Commande").Activate
                ExportAsFixedFormat Type:=xlTypePDF, From:=8, To:=8, Filename:=NomClient, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
       
        End With

    MsgBox "La feuille Pdf de Facture est préparé, merci."

Else

MsgBox "Pdf Annulé"

End If
End Sub

Si quelqu'un peut me corriger le code ci dessus, ça serait bien sympa ;)

Merci
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Mets un point d'arrêt dans la macro et regarde ce que dit la variable NomClient si des fois il y a un caractère interdit.
Mets le point dans la marge à gauche de Export........lance la macro
dans la ligne jaune passe le curseur sur NomClient
ou en fenêtre Exécution écrit
?NomClient
et presse entrée pour voir le texte de la variable
chez moi >>>> . ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomClient
cette ligne fonctionne si NomClient est correct
Vérifie aussi le format date j'ai jamais vu ça.
Bruno
 

ArnaudSi

XLDnaute Nouveau
Merci à tous pour votre aide ;)

Après de nombreuses rectifications avec tests, j'ai trouvé une formule qui fonctionne parfaitement

Je l'ai placé dans le Module 1 et ça marche super

Pour ceux que ça intéresse, ci joint le code :

VB:
Sub Enregistrer_PDF_Facture() 'Facture

Dim repertoire, fichier As String
    Sheets("Commande").Select
    'repertoire = ThisWorkbook.Path & "\" 'répertoire à adapter
    fichier = "Facture " & Range("B5") & " Ref " & Range("G5").Value & " Saisie le " & Format(Now(), "dd-mm-yyyy à Hh-Nn") & ".pdf" 'Nom du fichier avec le nom du client
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        fichier, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        From:=8, To:=8, _
        OpenAfterPublish:=False
    Sheets("Calcul").Select
    MsgBox fichier & (" a été sauvegardé dans le dossier.")

End Sub

Et j'ignore toujours pourquoi la première macro ne fonctionne pas... o_O
 
Dernière édition:

ArnaudSi

XLDnaute Nouveau
Pour info, après d'autres modifications de macro sur le fichier, la fenêtre d'alerte réapparue ( Erreur d'exécution "1004" : Erreur définie par l'application ou par l'objet ).
J'ai redémarré l'ordinateur et le problème s'est réglé.
@++
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 082
Membres
103 113
dernier inscrit
jlaussenac