• Initiateur de la discussion Initiateur de la discussion Panpan13
  • 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 !

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.
 
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:
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
 
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
 
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)"
 
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
 
- 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

Discussions similaires

Réponses
10
Affichages
547
Réponses
4
Affichages
177
Réponses
10
Affichages
281
Réponses
8
Affichages
466
Retour