Macro imprimer

Panpan13

XLDnaute Nouveau
Bonjour,

je souhaite créé une macro imprimer
en imprimant
La 1ère page de la première feuille Devis
puis
La feuille tarifs
puis
La 1ère page de la première feuille Devis
puis
La feuille tarifs
puis
La 2ème page de la première feuille Devis
puis
La feuille tarifs
La 2ème page de la première feuille Devis
puis
La feuille tarifs
La 2ème page de la première feuille Devis
puis
La feuille tarifs
puis
La 3ème page de la première feuille Devis
puis
La feuille tarifs

en résumé 6 feuilles devis et 6 feuilles Tarifs intercalées.

J'avais
Sub Imprimer_Devis()
'
' Imprimer_Devis Macro
' Macro enregistrée le 22/10/99 par VdM
'

'
Range("A1:F49").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True

ActiveWindow.SelectedSheets.PrintOut From:=2, To:=2, Copies:=1, Collate _
:=True

ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True

ActiveWindow.SelectedSheets.PrintOut From:=2, To:=2, Copies:=1, Collate _
:=True

ActiveWindow.SelectedSheets.PrintOut From:=3, To:=3, Copies:=1, Collate _
:=True

ActiveWindow.SelectedSheets.PrintOut From:=2, To:=2, Copies:=1, Collate _
:=True

End Sub

pour imprimer Devis

et

Sub Imprimer_Tarifs()
'
' Imprimer_Tarifs Macro
' Macro enregistrée le 03/05/2011 par gpantaignan
'

Range("A1:AY49").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=6, Collate _
:=True
End Sub

pour imprimer Tarifs

Ayant changer d'imprimante
je souhaitais imprimer comme ci-dessus.

Merci de votre aide sachant que je n'y comprends rien aux codes.

Mieux vaut un qui sait que cent qui cherchent.

Je peux vous envoyer le fichier par mail à ceux qui le souhaite mais il dépasse la taille autorisée ici.
 

gilbert_RGI

XLDnaute Barbatruc
Re : Macro imprimer

bonjour,

voilà un test à mettre dans un module standard

VB:
Sub Imprimer_Devis()
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Set Ws1 = Sheets("Devis")
Set Ws2 = Sheets("Tarifs")
    pass = Array(1, 2, 1, 2, 3, 2)
    For i = 0 To 5
    Ws1.Select
        Ws1.Range("A1:F49").Select
        ActiveWindow.SelectedSheets.PrintOut From:=pass(i), To:=pass(i), Copies:=1, Collate:=True
        Ws2.Select
        Ws2.Range("A1:AY49").Select
        ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
    Next
    Set Ws1 = Nothing
    Set Ws2 = Nothing
End Sub
 
Dernière édition:

Panpan13

XLDnaute Nouveau
Re : Macro imprimer

Bonjour,

je viens d'essayer votre macro
mais un message d'erreur apparait
erreur d execution 1004
la methode select de la classe range a échoué.

Merci de votre aide

Je peux vous envoyer le fichier par mail si vous le souhaiter.

Cordialement
 

Panpan13

XLDnaute Nouveau
Re : Macro imprimer

re,

super et merci beaucoup.
la macro marche mais à l'impression les 12 feuilles sortent d'affilé.
J'ai pourtant mis dasn les paramètres de l'imprimante recto-verso.

Cordialement

bonjour,

voilà un test à mettre dans un module standard

VB:
Sub Imprimer_Devis()
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Set Ws1 = Sheets("Devis")
Set Ws2 = Sheets("Tarifs")
    pass = Array(1, 2, 1, 2, 3, 2)
    For i = 0 To 5
    Ws1.Select
        Ws1.Range("A1:F49").Select
        ActiveWindow.SelectedSheets.PrintOut From:=pass(i), To:=pass(i), Copies:=1, Collate:=True
        Ws2.Select
        Ws2.Range("A1:AY49").Select
        ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
    Next
    Set Ws1 = Nothing
    Set Ws2 = Nothing
End Sub
 

gilbert_RGI

XLDnaute Barbatruc
Re : Macro imprimer

comme le printout ne tient pas compte du recto verso

on peut faire ceci mais il y aura un intervention sur les 6 feuilles
VB:
Sub Imprimer_Devis()
    Dim Ws1 As Worksheet
    Dim Ws2 As Worksheet
    Set Ws1 = Sheets("Devis")
    Set Ws2 = Sheets("Tarifs")
    pass = Array(1, 2, 1, 2, 3, 2)
    For i = 0 To 5
        Ws1.Select
        Ws1.Range("A1:F49").Select
        ActiveWindow.SelectedSheets.PrintOut From:=pass(i), To:=pass(i), Copies:=1, Collate:=True
        MsgBox "Attendre,retourner la page puis la replacer dans le chargeur "
        Ws2.Select
        Ws2.Range("A1:AY49").Select
        ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
    Next
    Set Ws1 = Nothing
    Set Ws2 = Nothing
End Sub

il y a bien cette fonction mais je n'ai jamais testé le recto verso

ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
 

gilbert_RGI

XLDnaute Barbatruc
Re : Macro imprimer

une autre possibilité

VB:
Sub Imprimer_Devis()
    Dim Ws1 As Worksheet
    Dim Ws2 As Worksheet
    Set Ws1 = Sheets("Devis")
    Set Ws2 = Sheets("Tarifs")
    pass = Array(1, 2, 1, 2, 3, 2)
    For i = 0 To 5
        Ws1.Select
        Ws1.Range("A1:F49").Select
        ActiveWindow.SelectedSheets.PrintOut From:=pass(i), To:=pass(i), Copies:=1, Collate:=True
    Next
    MsgBox "Attendre,retourner les pages puis les replacer dans le chargeur "
    For i = 1 To 6
        Ws2.Select
        Ws2.Range("A1:AY49").Select
        ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
    Next
    Set Ws1 = Nothing
    Set Ws2 = Nothing
End Sub
 

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16