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 :

Macro Excel impression Word [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Par défaut Macro Excel impression Word
    Bonjour à tous,

    Le contexte:
    - un fichier Excel contenant le nom des salariés et les informations servant à générer leurs fiches de salaires
    - un fichier Word qui génère le publipostage en utilisant le fichier Excel

    Une fois le fichier de publipostage fait, il est enregistré en document Word.

    J'ai besoin de pouvoir choisir la fiche de paie à imprimer.
    J'ai fait un petit formulaire dans le fichier Excel qui récupère la liste des salariés et qui envoie au fichier Word le numéro de ligne (-1) comme numéro de page à imprimer.

    J'espère être clair, voici le 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
    Private Sub Imprimer_Click()
    Dim dossier As String
    Dim cible As Workbook
    Dim Val1 As Variant
    Dim lg
    Dim lp
    Dim chemin As String
    Dim chemin_complet As String
    Dim ficpaye As String
    Dim oApp As Object
    Dim Doc As Word.document
     
    Val1 = LstAPS.Value
    chemin = ThisWorkbook.Path
    ficpaye = "Fiches de paie.docx"
    chemin_complet = chemin & "\" & ficpaye
     
    Set oApp = CreateObject("Word.Application")
    Set Doc = GetObject(chemin_complet)
    'Set Doc = oApp.documents.Open(chemin_complet)
    oApp.Visible = False
     
    Set cible = ThisWorkbook
    dossier = Val1
        With cible.Worksheets("Salaires")
            lg = .Columns("A").Find(dossier, , xlValues, xlWhole).Row
            lp = lg - 1
        End With
     
      '  MsgBox lp
     
    Doc.PrintOut Range:=wdPrintRangeOfPages, Pages:=CStr(lp) & "-" & CStr(lp)
    'Doc.PrintOut copies:=1, Range:=wdPrintRangeOfPages, Pages:=lp & "-" & lp
     
    End Sub
    Malheureusement, le résultat n'est pas là. Selon le Printout utilisé, j'ai soit l'impression complète du fichier (1200 salariés...), soit une page blange ??
    Erreur de syntaxe ? Mauvais code ?
    Je tourne un peu en rond.

    Merci de vos propositions ou conseils.

    Cordialement,

    Fred

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, en reprenant qqch d'équivalent ici.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim sPages As String
    	'.....
        ' Imprimer les Pages 2 à 3 et la Page 5
        sPages = "2-3,5"
        ThisDocument.PrintOut outputFilename:=sNomFichierPS, PrintToFile:=True, Background:=False, Range:=wdPrintRangeOfPages, Pages:=sPages
    	'.....
    A toi de l'adapter à ton contexte.

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Par défaut Excel Word page choisie
    Salut,

    J'ai fait une adaptation mais ça ne fonctionne pas. Un, il sort toujours la 1ere page en impression et deux, ce n'est pas le bon de fichier en sortie.

    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
    Private Sub Imprimer_Click()
    Dim dossier As String
    Dim cible As Workbook
    Dim Val1 As Variant
    Dim lg
    Dim lp
    Dim chemin As String
    Dim chemin_complet As String
    Dim ficpaye As String
    Dim oApp As Object
    Dim Doc As Word.document
     
    Val1 = LstAPS.Value
    chemin = ThisWorkbook.Path
    ficpaye = "Fiches de paie.docx"
    chemin_complet = chemin & "\" & ficpaye
     
    Set oApp = CreateObject("Word.Application")
    Set Doc = GetObject(chemin_complet)
    'Set Doc = oApp.documents.Open(chemin_complet)
     
     
    Set cible = ThisWorkbook
    dossier = Val1
        With cible.Worksheets("Salaires")
            lg = .Columns("A").Find(dossier, , xlValues, xlWhole).Row
            lp = lg - 1
        End With
     
    Doc.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=CStr(lp)
    Doc.PrintOut outputFilename:=LstAPS.Value & "-" & ficpaye, PrintToFile:=True, Background:=False, Range:=wdPrintCurrentPage
     
    End Sub
    une idée ?

    Cordialement,

    Fred

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Par défaut imprimer page choisie excel-word
    Salut,

    Bon, j'ai complétement changé la façon de faire. Le fichier Word étant vraiment trop lourd, le process prend trop de temps.

    Le problème ne se pose plus.

    Merci à tous.

    Cordialement,

    Fred

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Publipostage avec macro excel et word
    Par Bearn 64 dans le forum Excel
    Réponses: 0
    Dernier message: 25/11/2013, 17h13
  2. [XL-2003] Ajout de lignes par macro Excel dans word
    Par fb62840 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 24/09/2012, 11h39
  3. [WD-2003] Executer macro excel via word
    Par Karatégirl77 dans le forum VBA Word
    Réponses: 6
    Dernier message: 27/08/2009, 12h11
  4. Lancer Macro Excel depuis word
    Par Tintou dans le forum VBA Word
    Réponses: 1
    Dernier message: 21/02/2008, 17h17
  5. Macro pb impression Word 2003
    Par foliedti dans le forum VBA Word
    Réponses: 0
    Dernier message: 27/12/2007, 11h39

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