Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Forcer l'impression d'un contenu au verso

  • Initiateur de la discussion Initiateur de la discussion lezik
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

lezik

Guest
Bonsoir,
je suis en train de réaliser un modèle de facture sous excel 2007 et je bloque sur un détail :/

est-il possible d'obliger excel a imprimer derrière chaque page un texte reprenant les conditions générales de l'entreprise?

merci pour votre aide ! 🙂
 
Re : Forcer l'impression d'un contenu au verso

merci mais avec le fichier, je suis bon pour copier après chaque page le texte, je ne pense pas que cela va l'intégrer automatique si?
 
Re : Forcer l'impression d'un contenu au verso

Bonjour
Bise à Bruno

Dans Excel c'est compliqué mais sans doute faisable par VBA. Cependant je pense que certaine imprimantes RV peuvent être paramétrées en ce sens ou qu'un pré-imprimé est plus rentable si le volume est important.

Dans Word ce serait plus simple...
 
Re : Forcer l'impression d'un contenu au verso

Bonjour

N'ayant pas d'imprimante Recto/Verso, je n'ai pu tester en vraie grandeur mais il me semble que si l'onglet Recto nécessite plusieurs pages, les CGV au verso ne s'intercalent pas, si ?
 
Re : Forcer l'impression d'un contenu au verso

Bonjour

Une tentative en remplaçant dans Sub ImpressionRectoVersoExcel() la ligne
Code:
    Sheets(Array("Recto", "Verso")).PrintOut Copies:=1, Collate:=True
par
Code:
    Call Intercaler("Recto")
et la procédure
Code:
Option Explicit
Sub Intercaler(WKS As String)

Dim Memo As String, PremLig As Long, DerLig As Long, Extgauche As Integer, ExtDroite As Integer, y As Long, x As Long
Dim Fin As Long, Debut As Long, Gauche As Integer, Droite As Integer, Ppage As Long, PpageL As Integer
Dim MemoT()
Dim ThisWKS As Worksheet

    Application.ScreenUpdating = False
    Set ThisWKS = ActiveSheet
    With Worksheets(WKS)
        .Select
        ActiveWindow.View = xlPageBreakPreview

        Memo = .PageSetup.PrintArea
        If Memo = "" Then
            PremLig = .UsedRange.Row
            DerLig = .Range("A1").SpecialCells(xlCellTypeLastCell).Row
            Extgauche = .UsedRange.Column
            ExtDroite = Extgauche + .UsedRange.Columns.Count - 1
        Else
            MemoT = Split(Memo, "$")
            Extgauche = Range(MemoT(1) & "1").Column
            PremLig = Left(MemoT(2), Len(MemoT(2)) - 1) * 1
            ExtDroite = Range(MemoT(3) & "1").Column
            DerLig = MemoT(4) * 1
        End If
        y = .HPageBreaks.Count
        x = .VPageBreaks.Count

        Debut = 1
        If y > 0 Or x > 0 Then
            Gauche = Extgauche
            If .PageSetup.Order = xlDownThenOver Then
                For PpageL = 1 To x + 1
                    Debut = PremLig
                    If PpageL <= x Then
                        Droite = .VPageBreaks(PpageL).Location.Column - 1
                    Else
                        Droite = ExtDroite
                    End If
                    For Ppage = 1 To y + 1
                        If Ppage > y Then
                            Fin = DerLig
                        Else
                            Fin = .HPageBreaks(Ppage).Location.Row - 1
                        End If
                        .PageSetup.PrintArea = Range(Cells(Debut, Gauche), Cells(Fin, Droite)).Address
                        'Lancer l'impression des 2 feuilles
                        Sheets(Array(WKS, "Verso")).PrintOut Copies:=1, Collate:=True
                        .Select
                        .PageSetup.PrintArea = Memo
                        Debut = Fin + 1
                    Next Ppage
                    Gauche = Droite + 1
                Next PpageL
            Else
                Debut = PremLig
                For Ppage = 1 To y + 1
                    Gauche = Extgauche
                    If Ppage > y Then
                        Fin = DerLig
                    Else
                        Fin = .HPageBreaks(Ppage).Location.Row - 1
                    End If
                    For PpageL = 1 To x + 1
                        If PpageL <= x Then
                            Droite = .VPageBreaks(PpageL).Location.Column - 1
                        Else
                            Droite = ExtDroite
                        End If
                        .PageSetup.PrintArea = Range(Cells(Debut, Gauche), Cells(Fin, Droite)).Address
                        'Lancer l'impression des 2 feuilles
                        Sheets(Array(WKS, "Verso")).PrintOut Copies:=1, Collate:=True
                        .Select
                        .PageSetup.PrintArea = Memo
                       Gauche = Droite + 1
                    Next PpageL
                    Debut = Fin + 1
                Next Ppage
            
            End If
        Else
            Sheets(Array(WKS, "Verso")).PrintOut Copies:=1, Collate:=True
            .Select
        End If
        .PageSetup.PrintArea = Memo
    End With

    ActiveWindow.View = xlNormalView
    ThisWKS.Select

End Sub

A tester.
Le code peut sans doute être amélioré... C'est un premier jet.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

R
  • Question Question
Réponses
1
Affichages
753
P
Réponses
15
Affichages
3 K
Pauliakov
P
L
Réponses
4
Affichages
3 K
lapluchouet
L
W
Réponses
0
Affichages
2 K
William
W
M
Réponses
11
Affichages
4 K
GRI84
G
F
Réponses
0
Affichages
7 K
F
G
Réponses
1
Affichages
2 K
GrimmJow
G
T
Réponses
2
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…