[RESOLUTO]Imprission recto verso les pages de la meme feuille

Ilino

XLDnaute Barbatruc
Bonjour
Je cherche un code (VBA) STANDARD pour imprimer la feuille en recto verso (si le nombre de page dans la même feuille dépasse 1)
grazie
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Imprission recto verso les pages de la meme feuille

Bonjour Ilino,

As-tu pensé à enregistrer une macro dans laquelle tu configures l'imprimante en recto-verso?

Tu obtiendras un grand nombre de lignes de code mais on pourra toujours t'aider à supprimer celles qui ne sont pas nécessaires ou indispensable.

A +

Cordialement.
 

job75

XLDnaute Barbatruc
Re : Imprission recto verso les pages de la meme feuille

Bonjour Ilino, Papou-net,

Un exemple de ce que l'on peut faire :

Code:
Sub ImprimerRectoVerso()
Dim NbPage&, n&
With ActiveSheet
  .PageSetup.FitToPagesWide = 1 '1 page en largeur
  NbPage = ExecuteExcel4Macro("GET.DOCUMENT(50)")
  For n = 1 To NbPage Step 2
    .PrintOut From:=n, To:=n
  Next
  MsgBox "Retournez les feuilles...", , "Impression"
  For n = 2 To NbPage Step 2
    .PrintOut From:=n, To:=n
  Next
End With
End Sub
Retournez les feuilles avant de cliquer sur OK...

A+
 

Ilino

XLDnaute Barbatruc
Re : Imprission recto verso les pages de la meme feuille

Bonjour Papou
Merci pour la remarque et la proposition, ci dessous le code
Code:
' recto Macro
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, Collate _
        :=True, IgnorePrintAreas:=False
ça fonctionne parfaitement mais il est limité au 2 pages seulement , mon souci qu'il ne soit pas limité c a d le code doit détecté automatiquement le nombre de page
A+
 

Ilino

XLDnaute Barbatruc
Re : Imprission recto verso les pages de la meme feuille

Re pAPOU, mAITRE
MERCI POUR LES RÉPONSES,je souhaite ajouter a ce code un message pour afficher le nombre de page a imprimer
Code:
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=Sheets.Count - 1, Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False

exemple:
MsgBox "Impression Recto-Verso ?", , "Impression" si oui combien de page de 1 a 2 si non 1
A+
 

job75

XLDnaute Barbatruc
Re : Imprission recto verso les pages de la meme feuille

Re,

Si l'on veut imprimer toutes les feuilles du classeur :

Code:
Sub ImprimerRectoVerso()
Dim choix As Byte, i&, a&(), j&
choix = MsgBox("Recto-verso ?", 3, "Imprimer")
If choix = 2 Then Exit Sub
For i = 1 To Worksheets.Count
  Worksheets(i).PageSetup.FitToPagesWide = 1 '1 page en largeur
  ReDim Preserve a(1 To i)
  a(i) = ExecuteExcel4Macro("GET.DOCUMENT(50,""" & Worksheets(i).Name & """)")
Next
For i = 1 To UBound(a)
  For j = 1 To a(i) Step IIf(choix = 6, 2, 1)
    Worksheets(i).PrintOut From:=j, To:=j
  Next
Next
If choix = 6 Then
  MsgBox "Retournez les feuilles...", , "Imprimer"
  For i = 1 To UBound(a)
    For j = 1 To a(i) Step 2
      Worksheets(i).PrintOut From:=j + 1, To:=j + 1
    Next
  Next
End If
End Sub
Je n'ai pas testé.

A+
 

Ilino

XLDnaute Barbatruc
Re : Imprission recto verso les pages de la meme feuille

Re maitre
merci pour la réponse , j'ai testé tes codes mais mon souci je souhaite imprimer selon le nombre que je veux ( avant l'impression) et non pas toutes les pages de la feuille.
GRAZIE
a+
 

job75

XLDnaute Barbatruc
Re : Imprission recto verso les pages de la meme feuille

Re,

Ma macro du post #3 complétée :

Code:
Sub ImprimerRectoVerso()
Dim choix As Byte, NbPage&, n&
choix = MsgBox("Recto-verso ?", 3, "Imprimer")
If choix = 2 Then Exit Sub
With ActiveSheet
  .PageSetup.FitToPagesWide = 1 '1 page en largeur
  NbPage = ExecuteExcel4Macro("GET.DOCUMENT(50)")
  For n = 1 To NbPage Step IIf(choix = 6, 2, 1)
    .PrintOut From:=n, To:=n
  Next
  If choix = 6 And NbPage > 1 Then
    MsgBox "Retournez les feuilles...", , "Imprimer"
    For n = 2 To NbPage Step 2
      .PrintOut From:=n, To:=n
    Next
  End If
End With
End Sub
Si ce n'est pas ce que tu veux explique-toi plus clairement.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 502
dernier inscrit
talebafia