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

VBA Word Discussion :

Imprimer différemment les pages d'un document


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Homme Profil pro
    AUTRE
    Inscrit en
    Mars 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : AUTRE

    Informations forums :
    Inscription : Mars 2014
    Messages : 39
    Points : 17
    Points
    17
    Par défaut Imprimer différemment les pages d'un document
    salut a tous,

    je me trouve un peu dans le même contexte de configuration d'impression que dans cette discussion/.

    mais d'une part je désire imprimer la page 1

    ce qui donnerait en reprenant le code de départ quelque chose comme ca, mais en remplacant PDF Créator par mon imprimante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     ActivePrinter = "PDFCreator"
            Application.PrintOut FileName:="", Range:=wdPrintSelection, Item:= _
            wdPrintDocumentContent, Copies:=1, Pages:="1", PageType:=wdPrintAllPages, _
            ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
            False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
            PrintZoomPaperHeight:=0

    et dans un second code je voudrais imprimer toutes les pages du document sauf la 1er

    ou autrement dit imprimer depuis la page 2 jusqu'à la dernière page en sachant que le nombre des pages contenues est inconnu car ils varie selon la longueur du document qui n'est jamais la même, il peu donc contenir 3, 4,5, 15 ou 30 pages peut être plus parfois.

    par contre il est certain que le document est 2 pages minimum dans ce cas seul la page1 sera à imprimer.

    je suppose qu'il va falloir utiliser une condition comme dans le code précédent dans le genre


    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
    Sub Impression_page2_derniere_page()
     
        ActiveDocument.Save
        ActiveDocument.Fields.Update
     
        If ActiveDocument.BuiltInDocumentProperties(wdPropertyPages) < 3 Then
            aListePages = "2;" & Trim(Str(ActiveDocument.BuiltInDocumentProperties(wdPropertyPages) - 1)) & "-" & Trim(Str(ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)))
        Else
            aListePages = "2-" & Trim(Str(ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)))
        End If
     
     ActivePrinter =  "PDFCreator"
     
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:=wdPrintDocumentWithMarkup, Copies:=1, _
            Pages:=aListePages, _
            PageType:=, Collate:=True, Background:=False, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
    End Sub

    ou faudrait il utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveDocument.BuiltInDocumentProperties.value
    ou encore pour indiquez ne nombre de pages contenu dans le document

    ou encore utiliser la fonction wdPrintAllPages en y sous-traillant la page1

    quelqu'un pourrais me donner quelques infos ? merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Tes essais donnent quoi ?
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre à l'essai
    Homme Profil pro
    AUTRE
    Inscrit en
    Mars 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : AUTRE

    Informations forums :
    Inscription : Mars 2014
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    bonjour olivier,

    ben en faite pour l'instant pas grand chose car ma page 1 dans mon document index "document1" et une enveloppe donc le N° de la page est 0.

    je dois donc utiliser l'option d'impression d'enveloppe. mais la je rencontre un problème. j'ai édité l'adresse de l'expéditeur directement sur la page0 et non via le mode d'édition des enveloppes. mon adresse expéditeur peut être différente en fonction du destinataire, elle inclus:

    ligne1: nom et prénom en texte
    ligne2: un champ contenant une 1er ligne d'adresse
    ligne3: un champ contenant une 2ème ligne d'adresse
    ligne4: CP et ville en textes

    le tout dans un espace redimensionné en largeur pour pouvoir centrer le texte. Mais cette adresse expéditeur que j'ai édité ne s'imprime pas. seule l'adresse du destinataire s'imprime.
    la seule solution que j'ai trouver pour l'instant pour l'imprimer est de sélectionner tout le texte de l'enveloppe et de faire une impression de la sélection.

    ce qui ne peut apparemment pas être formaté avec l'encart expéditeur de l'éditeur d’enveloppe.

    il faut donc que je travail sur cette nouvelle configuration, pour l'impression du reste du document il y a donc plus de problème. au cas ou j'ouvrirais un autre poste à ce sujet.

    mais je suis quand même intéressé à poursuivre ce poste pour développer la question que j'ai posé au début, car je pense avoir bientôt besoin de créer ce code pour un projet dans un futur proche.

    pour l'instant je maitrise l'impression de la page1 en faisait: (donc imprimante par défaut)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Application.PrintOut FileName:="", Range:=wdPrintSelection, Item:= _
            wdPrintDocumentContent, Copies:=1, Pages:="1", PageType:=wdPrintAllPages, _
            ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
            False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
            PrintZoomPaperHeight:=0
    mais par contre je n'arrive pas a obtenir la sélection dés que je met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActivePrinter = "PDFCreator"
    la page est blanche sous pdf Créator

    et en sélectionnant une imprimante rien ne se passe.


    et dans le deuxième code j'ai une erreur à cause de

    il manque quelque chose entre = et , surement wdPrintAllPages

    ca y est mon code fonctionne

    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
    Sub imprimeapartirpage2()
    '
    ' imprimeapartirpage2 Macro
    '
         ActiveDocument.Save
        ActiveDocument.Fields.Update
     
        If ActiveDocument.BuiltInDocumentProperties(wdPropertyPages) < 3 Then
            aListePages = "2;" & Trim(str(ActiveDocument.BuiltInDocumentProperties(wdPropertyPages) - 1)) & "-" & Trim(str(ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)))
        Else
            aListePages = "2-" & Trim(str(ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)))
        End If
     
     
     
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:=wdPrintDocumentWithMarkup, Copies:=1, _
            Pages:=aListePages, _
            PageType:=wdPrintAllPages, Collate:=True, Background:=False, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
     
    End Sub
    quelque soit le nombre de pages contenu dans le document, elle sont ainsi toutes imprimées sauf la page1.

    concernant la sélection de l'imprimante, je suppose que j'ai due faire une erreur de syntaxe en écrivant le nom de l'imprimante:

    lorsque je vais dans Périphériques et imprimantes je vois ceci:

    Nom : Nouvelle image.jpg
Affichages : 305
Taille : 50,8 Ko

    supposons que je veuille utiliser l'imprimante CANON, le mon a reporter dans le code sera bien "Canon MG6100 series Printer"

    ce qui devrait donner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActivePrinter = "Canon_MG6100_series_Printer"
    c'est bien cela ?


    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActivePrinter = "EPSON_SX235_Series"
    pour l'EPSON SX235 Séries.

  4. #4
    Membre à l'essai
    Homme Profil pro
    AUTRE
    Inscrit en
    Mars 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : AUTRE

    Informations forums :
    Inscription : Mars 2014
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Quelqu'un pourrait me donner son avis sur le sujet ?

Discussions similaires

  1. Imprimer toutes les pages d'un USF Multipages
    Par Didier Gonard dans le forum Contribuez
    Réponses: 0
    Dernier message: 02/10/2009, 13h14
  2. Réponses: 1
    Dernier message: 07/05/2008, 11h31
  3. Une autre façon de compter les pages d'un document word
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/05/2007, 12h53
  4. imprimer sans les pages blanches
    Par SAINT-BERNARD dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 28/08/2006, 17h30
  5. Imprimer seulement les pages repondant a un critere
    Par florent149 dans le forum Général VBA
    Réponses: 22
    Dernier message: 21/08/2006, 16h17

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