IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Imprimer un document word depuis Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut Imprimer un document word depuis Excel
    Bonjour à vous, je souhaiterais créer un bouton qui permettrait l'impression de plusieurs documents word et excel.

    Pour cela j'ais farfouillé un peu partout et suis arrivé à ce bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Private Sub CommandButton4_Click()
     
    Dim InstanceWord As New Word.Application
    Dim appWD As Word.Application
     
    Dim strFichier As String
    Dim objWord As New Word.Application
    Application.DisplayAlerts = True
     
    strFichier = "L:\document1.doc"
    Application.DisplayAlerts = True
     
    ' ouvrir un document Word
    objWord.Documents.Open strFichier
     
    ' rendre Word visible
    objWord.Visible = False
     
    ActiveDocument.PrintOut
     
    ' fermer le document
    objWord.Documents(1).Close
     
    ' quitter l'application Word
    objWord.Quit
     
    ' libérer la mémoire
    Set objWord = Nothing
     
    Application.DisplayAlerts = False
     
     
    'ChDir "L:\"
     
    '    Workbooks.Open Filename:="L:tableur3.xls"
    'ActiveWorkbook.PrintOut
     
    '    Workbooks.Open Filename:="L:\Tableur.xls"
    'ActiveWorkbook.PrintOut
     
     
    End Sub
    ( les chemins et les noms de fichiers sont corrects. l'impression des fichiers excels fonctionne aussi )

    Seulement, pour le document word, il m'affiche la boite de dialogue concernant la lecture seule, dont j'aimerais me passer ( ce code doit pouvoir fonctionner malgré que le document soit ouvert )

    Sachant que j'exécute ceci sur une feuille d'un classeur excel, comment imprimer aussi la feuille en question, mais pas les autres ?

    Merci de votre aide

  2. #2
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    En attendant une réponse sur la désactivation temporaire de la textbox de la lecture seule ( avec les options "lecture seule", "notifier" et "annuler" ) j'ais poursuivi et l'impression se fait correctement.

    Pour imprimer la feuille où est le bouton, dois je mettre un ActiveSheet.PrintOut ?

  3. #3
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Il me semble que tu as inversé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts = True

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    En effet, la textbox de la lecture seule ne s'affiche plus \o/

    Suite à l'impression je désire les sauvegarder dans un dossier que la macro devra au préalable créer, avec pour nom de dossier la valeur d'une cellule.

    j'ais tenté un mkdir pour créer le dossier, sans succès :s

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Cells(11, 2).Select
    MkDir "L:\dossier"
    ChDir "L:\dossier"
    NomRep = "L:\dossier\pouet" & ActiveCell.Value
    MkDir NomRep
    Je me demandais aussi comment coder le fait que si le dossier est déjà existant, il devra écraser ( en demandant confirmation ) le dossier existant.
    j'ais trouvé pour la sauvegarde, il ne me manque donc que la création et la gestion des dossiers déjà existant.

    Autre question, je n'arrive pas à résoudre mon erreur 462 lors d'une seconde exécution de mon code :s

    Auriez vous une idée sur mon souci ?

  5. #5
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Pour tester si le dossier existe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function DossierExiste(NomDossier As String) As Boolean
        DossierExiste = Dir(NomDossier, vbDirectory) <> ""
    end function
    Ici il me semble qu'il manque un slash :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomRep = "L:\dossier\pouet" & ActiveCell.Value

  6. #6
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Merci tout marche nickel

    J'ais néanmoins une erreur 4248 pour la sauvegarde, j'ais chercher un peu mais sachant que je ne peux pas toucher aux documents que je sauvegarde, comment faire?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    appWD.ActiveDocument.SaveAs NomRep & "\doc1.doc"

Discussions similaires

  1. [XL-2003] Effacer des signets dans un document word depuis excel
    Par scoubi77 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 16/03/2010, 21h20
  2. [AC-2000] imprimer un document word depuis access
    Par Sefrou dans le forum VBA Access
    Réponses: 0
    Dernier message: 15/11/2009, 15h34
  3. Lancer et imprimer un mailing Word depuis Excel
    Par jncoffy dans le forum VBA Word
    Réponses: 1
    Dernier message: 10/09/2009, 18h24
  4. Imprimer un Mailing Word depuis Excel
    Par jncoffy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/09/2009, 15h03
  5. Comment Imprimer un document Word depuis Delphi ?
    Par jwff_22 dans le forum Delphi
    Réponses: 1
    Dernier message: 28/03/2007, 20h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo