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 :

impression vba


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 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut impression vba
    Bonjour,

    J'ai un problème que je n'arrive pas à résoudre si quelqu'un peut m'aider :
    J'ai un fichier excel où je crée des factures. Il y a un userform pour imprimer ces factures dans lequel j'indique le nombre de duplicata et d'original que je souhaites imprimer. Cependant,il arrive que cette facture soit sur 2 pages et il y a toujours plusieurs exemplaires et je voudrais que la page 1 et la page 2 sortent à la suite et non plusieurs pages 1 et plusieurs pages 2.
    Voici ma macro :

    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
    Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Imprimer.Hide
    Range("T1").Value = Imprimer.ComboBox1.Value
    Range("T2").Value = Imprimer.ComboBox2.Value
    If Imprimer.ComboBox1.Value <> "" Then
    Range("c469").Select
    Range("m5") = "[Duplicata]"
    Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
    Selection.PrintOut Copies:=[T1], Collate:=True
    If Range("F31") <> "" Then
    Range("c73:O139").Select
    Range("m5") = "[Duplicata]"
    Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
    Selection.PrintOut Copies:=[T1], Collate:=True
    End If
    If Range("F131") <> "" Then
    Else: Range("T1") = ""
    End If
    If Imprimer.ComboBox2.Value = "" Then
    Range("T2") = ""
    ElseIf ComboBox2.Value <> "" Then
    Range("M5") = "[Original]"
    Range("c469").Select
    Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
    Selection.PrintOut Copies:=[T2], Collate:=True
    If Range("F131") <> "" Then
    Range("M5") = "[Original]"
    Range("c73139").Select
    Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
    Selection.PrintOut Copies:=[T2], Collate:=True
    End If
    Range("A3").Select
    End Sub
    Merci pour votre aide.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Par défaut
    salut,

    je vais peut etre dire une betise mais je me lance :

    si tu ajouter quelque chose dans ce style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    If (facture = 2 pages) then
      print (page 1)
      print (page 2)
    else
      tu fais comme d'hab
    end if
    je ne sais si tu as deja essayé ou si c'est faisable...

  3. #3
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Salut,

    Pourquoi tu as [T1] ou [T2] dans copies

    Ca, ça fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.PrintOut Copies:=2, Collate:=True

  4. #4
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    J'ai compris ce que tu voulais faire enfin je crois :

    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.PrintOut Copies:=Range("T1").Value , Collate:=True
    Citation Envoyé par Lou Pitchoun Voir le message
    Salut,

    Pourquoi tu as [T1] ou [T2] dans copies

    Ca, ça fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.PrintOut Copies:=2, Collate:=True

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut
    J'ai modifié un peu mon code pour que vous compreniez mieux :

    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
    Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Imprimer.Hide
    'Nombre d'impression en duplicata
    Range("T1").Value = Imprimer.ComboBox1.Value
    'Nombre d'impression en original
    Range("T2").Value = Imprimer.ComboBox2.Value
    If Imprimer.ComboBox1.Value <> "" Then
       Range("Page1").Select
        Range("m5") = "[Duplicata]"
        Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
        Selection.PrintOut Copies:=[T1], Collate:=True
        End If
        'Si il y a une 2ème page à imprimer en duplicata
        If Range("F131") <> "" Then
         Range("Page2").Select
        Range("m5") = "[Duplicata]"
        Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
        Selection.PrintOut Copies:=[T1], Collate:=True
        End If
        If Imprimer.ComboBox2.Value = "" Then
        Range("T2") = ""
        ElseIf ComboBox2.Value <> "" Then
        Range("M5") = "[Original]"
        Range("Page1").Select
        Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
        Selection.PrintOut Copies:=[T2], Collate:=True
        'Si 2ème page à imprimer en original
        If Range("F131") <> "" Then
         Range("M5") = "[Original]"
     Range("Page2").Select
        Application.ActivePrinter = "\\gresrvr01\GRE_HP_4350_59A sur Ne02:"
        Selection.PrintOut Copies:=[T2], Collate:=True
         End If
         End If
        Range("A3").Select
    End Sub
    En fait je voudrais que si j'ai 10 exemplaires (ce qui arrive souvent) il m'imprime un fois la page 1 suivie de la page 2 10 fois de suite et non 10 pages suivies de 10 pages 2. Pour gagner du temps et ne pas les remettre dans l'ordre. J'éspère que c'est compréhensible....
    Merci

  6. #6
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    As tu essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.PrintOut Copies:=Range("T1").Value , Collate:=True
    ?

    Cela imprime tes 2 pages en autant d'exemplaires (page1-page2, page1-page2...) que la valeur contenue dans Range("T1").Value.

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

Discussions similaires

  1. Impression vba excel en pdf
    Par lito74 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/06/2010, 00h40
  2. Probleme impression VBA
    Par divayg dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/11/2009, 18h04
  3. mise en page et impression VBA
    Par moimemessssssssss dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 29/10/2009, 23h58
  4. [Toutes versions] Autofit d'une page avant impression (VBA)
    Par robynou dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/07/2009, 14h12
  5. parametrer l'impression vba
    Par boubounne dans le forum VBA Word
    Réponses: 2
    Dernier message: 20/07/2007, 15h51

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