Macro d'ouverture doc word + impression

Bonjour à tous,

J'aurais besoin d'une petite aide svp.

J'ai un problème concernant la macro suivante :

Private Sub CommandButton1_Click() ' Code du bouton Imprimer du Userform
Dim NDF As String, NDF2 As String, Rep As String
Dim WordApp As Object, WordDoc As Object

            Set WordApp = CreateObject("Word.Application")
            Set WordDoc = WordApp.Documents.Open("ThisWorkbook.Pathh\Analyse de risques.docx", ReadOnly:=False)

        With WordApp
            .Visible = False

            ' copie le contenu du textbox1 à l'emplacement du signet "ref"
            WordDoc.Bookmarks("Cause").Range.Text = Me.TextBox1.Text
            WordDoc.Bookmarks("Conséquence").Range.Text = Me.TextBox2.Text
            WordDoc.Bookmarks("Catégorie").Range.Text = Me.TextBox3.Text
            WordDoc.Bookmarks("Parties").Range.Text = Me.TextBox4.Text
            WordDoc.Bookmarks("Taux").Range.Text = Me.TextBox5.Text
            WordDoc.Bookmarks("Début").Range.Text = Me.TextBox6.Text
            WordDoc.Bookmarks("Fin").Range.Text = Me.TextBox7.Text
            WordDoc.Bookmarks("Actions").Range.Text = Me.TextBox8.Text
            WordDoc.Bookmarks("Responsable").Range.Text = Me.TextBox9.Text
            WordDoc.Bookmarks("Risque").Range.Text = Me.TextBox10.Text
            WordDoc.Bookmarks("NRisque").Range.Text = Me.ComboBox1.Text

        End With

Application.Dialogs(xlDialogPrinterSetup).Show
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

WordDoc.Close
MsgBox "Document word imprimé avec succés"

End Sub

Elle ne veut pas compiler elle me dit qu'elle ne trouve pas le document word en question alors qu'il est dans le même dossier de la doc excel (pour cela que j'ai utiliser la fonction Path). On retrouve le code en cliquant sur le bouton imprimer dans l'onglet "Plans d'action" et en choisissant dans le combobox 1 un risque.

De plus en fin de code lorsque il m'affiche les imprimantes pour lancer l'impression même si je clique sur annuler il imprime (code tester en dehors).

Je vous transferts mes deux fichiers en PJ.

Quelqu'un peut-il m'aider je suis complètement bloqué..

Merci

Cdlt

Bonjour Floflo,

Essaye de remplacer

Set WordDoc = WordApp.Documents.Open("ThisWorkbook.Pathh\Analyse de risques.docx", ReadOnly:=False)

par

Set WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\Analyse de risques.docx", ReadOnly:=False)

Bonjour merci de ta réponse.

J'ai refais un code qui semble marcher à présent mais j'ai toujours ce problème quand il affiche la fenêtre des imprimante disponible on ne peut pas revenir en arrière. Même en cliquant sur "annuler" il imprime....

Private Sub CommandButton1_Click() ' Code du bouton Imprimer du Userform
Dim NDF As String, NDF2 As String, Rep As String
Dim WordApp As Object, WordDoc As Object
Dim chemin As String

chemin = ActiveWorkbook.Path

    Rep = MsgBox("Un ficher word va être imprimé, souhaitez-vous poursuivre ?", vbYesNo + vbQuestion, "")
    If Rep = vbYes Then

    Rep = chemin
    NDF = Rep & "\Analyse des risques.docx"

    If Not Exist_Fichier(NDF) Then ' Verifie si le doc existe
        MsgBox "Document Word Modèle rapport d'intervention curative.docx manquant dans le répertoire " & chemin & "\", vbExclamation, "Attention"
    Else
        On Error Resume Next
        If Fichier_IsOpen(NDF) Then ' Verifie si le doc est déja ouvert
             Set WordApp = GetObject(, "Word.Application")
            Set WordDoc = WordApp.Documents(NDF)
        Else
            Set WordApp = CreateObject("Word.Application")
            Set WordDoc = WordApp.Documents.Open(NDF, ReadOnly:=False)
        End If

        With WordApp
            .Visible = False

            WordDoc.Bookmarks("Cause").Range.Text = Me.TextBox1.Text
            WordDoc.Bookmarks("Conséquence").Range.Text = Me.TextBox2.Text
            WordDoc.Bookmarks("Catégorie").Range.Text = Me.TextBox3.Text
            WordDoc.Bookmarks("Parties").Range.Text = Me.TextBox4.Text
            WordDoc.Bookmarks("Taux").Range.Text = Me.TextBox5.Text
            WordDoc.Bookmarks("Début").Range.Text = Me.TextBox6.Text
            WordDoc.Bookmarks("Fin").Range.Text = Me.TextBox7.Text
            WordDoc.Bookmarks("Actions").Range.Text = Me.TextBox8.Text
            WordDoc.Bookmarks("Responsable").Range.Text = Me.TextBox9.Text
            WordDoc.Bookmarks("Risque").Range.Text = Me.TextBox10.Text
            WordDoc.Bookmarks("Projet").Range.Text = Me.TextBox11.Text
            WordDoc.Bookmarks("NRisque").Range.Text = Me.ComboBox1.Text

        End With

Application.Dialogs(xlDialogPrinterSetup).Show
WordDoc.PrintOut Copies:=1, Collate:=True

 MsgBox "Document word imprimé"
       WordDoc.Close '-- fermer le document Word
      WordDoc.Quit '-- fermer la session Word
         Set WordDoc = Nothing
        Set WordApp = Nothing

    End If

    Else
        ' ici le traitement si réponse négative
        ' ...
    End If
End Sub

Je ne vais pas pouvoir te répondre précisément avant demain, mais dans ta procédure tu ne contrôles pas le résultat de la boîte de dialogue. Il est donc normal que tu imprimes dans tous les cas. (Quelque chose comme 'If [...].Show <> -1 Then' devrait fonctionner)

Bonjour FloFlo,

Essaye de remplacer

par

Application.Dialogs(xlDialogPrinterSetup).Show
WordDoc.PrintOut Copies:=1, Collate:=True

 MsgBox "Document word imprimé"
       WordDoc.Close '-- fermer le document Word
     WordDoc.Quit '-- fermer la session Word
        Set WordDoc = Nothing
        Set WordApp = Nothing
If Application.Dialogs(xlDialogPrinterSetup).Show = True Then
'Si l'utilisateur confirme la configuration de l'imprimante alors...
    WordDoc.PrintOut Copies:=1, Collate:=True 'Imprime le document Word
    MsgBox "Document word imprimé"
Else
    MsgBox "Impression annulée"
End If
WordDoc.Close '-- fermer le document Word
WordDoc.Quit '-- fermer la session Word
Set WordDoc = Nothing
Set WordApp = Nothing

Cédric

Rechercher des sujets similaires à "macro ouverture doc word impression"