Erreur 1004 - PrintOut

Anonyme
2024-01-22T15:34:04+00:00

Bonjour, j'ai un problème avec mes fonctions VBA

J'ai une fonction export en PDF et une fonction impression, toutes deux utilisent des boutons différents

  • Si j'utilise la fonction export seulement : Export OK
  • Si j'utilise la fonction impression seulement : Impression OK
  • Si j'utilise la fonction export puis la fonction impression : Export OK, impression NOK
  • Si j'utilise la fonction impression puis la fonction export : impression OK, export OK
  • Si j'utilise la fonction impression puis la fonction export et ensuite l'impression : impression OK, export OK, impression NOK.

Dès que j'utilise l'export, l'impression ne fonctionne plus. Il y a l'erreur : la méthode PrintOut de la classe Worksheet a échoué

Voici mes 2 fonctions :

Sub impression_facture()

ActiveSheet.PrintOut Copies:=1, Collate:=False, IgnorePrintAreas:=False, Preview:=False

End Sub

Sub export_pdf()

Dim FileName As String, folderPath As String

FileName = Sheets("Facture").Range("B5").Value

folderPath = ThisWorkbook.Path

' Exporter en PDF

Sheets("FACTURE MODELE").ExportAsFixedFormat Type:=xlTypePDF, FileName:=folderPath & "/" & FileName

' Afficher le dialogue d'impression

MsgBox "Le fichier PDF a été créé avec succès à l'emplacement : " & vbCrLf & folderPath & "/" & FileName & ".pdf" & vbCrLf & vbCrLf & "Veuillez imprimer le fichier manuellement.", vbInformation, "Exportation PDF réussie"

End Sub

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

10 réponses

  1. Anonyme
    2024-01-22T17:36:12+00:00

    Ajouter une instruction Worksheets("Facture").Activate après (ou avant) ton MsgBox.

    Je pense que la feuille que tu veux imprimer n'est plus la feuille active après l'exportation en PDF. L'instruction Activate permet de la resélectionner comme ActiveSheet. Mais je n'ai peut-être pas tout compris dans ta situation de base.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2024-01-22T17:30:39+00:00

    Qu'appellez vous par réactiver la feuille ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2024-01-22T17:04:22+00:00

    Essaye en réactivant ta feuille "Facture" avant de sortir de la macro d'exportation.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2024-01-22T16:47:44+00:00

    C'est ce que je fais, il y a la même erreur.

    J'utilise toujours la fonction exécuter directement dans l'éditeur. Excel a l'air de garder en cache l'aperçu ou quelques chose dans le genre. J'ai tenté plein de solutions différentes vues sur les forums ou IA sans succès.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. DanielCo 107.7K Points de réputation
    2024-01-22T16:24:44+00:00

    Bonjour,

    Essaie d'exécuter la macro d'impression depuis l'édiiteur VB, sans te servir d'un bouton.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire