Bonsoir,

J'aime bien faire des macros mais elle ne me le rendent pas. Jusqu'ici j'ai toujours ajouté des bouts de codes par ci puis par là et voilà ça arche. mais là niet, nada, rien, peau de zebu pourtant ce n'est pas faute d'avoir farfouillé.
Les faits :
J'ai un classeur excel contenant 18 onglets en ordre indéplaçable. J'ai besoin d'imprimé certains onglets mais dans le désordre. De plus, l'onglet 4 comportant 9 pages de zone d'impression définie est utilisé à plusieurs reprises dans l'ordre d'impression. en effet, j'ai besoin des 3 premières pages de l'onglet 4 en debut d'impression puis des pages 4 à 6 en milieu d'impression... Bref un plaisir

Voici mes essais :
1/ j'ai utilisé l'enregistreur de macros : or il m'a regroupé dans l'ordre des onglets l'impression
2/ j'ai utiliséle groupe de travail pensant que l'on pouvait modifié l'ordre ultérieurement : les onglets sont regroupés dans l'ordre
3/ j'ai écrit le code de ma petite menote avec les onglets dans l'ordre : peine perdu l'impression se lance dans l'ordre
4/ j'ai réalisé 1 macro appelant dans l'ordre d'impression les 10 macros indépendantes d'impression : l'aperçu avant impression s'arrête sur la dernière feuille active. De plus, les 10 macros n'ajoutent pas les feuilles des onglets les une aux autres. Elles se contentent d'ouvrir 10 aperçus. Comme si il n'y avait pas de regroupement.
5/ j'ai copié collé mes 10 petites macros les unes sous les autres dans l'ordre espérant que les feuilles àimprimer allait s'jouter les unes aux autres : paf dans les dents et l'aperçu correspond toujours à la dernière page active.

J'ai tenté pour regrouper les pages : ActiveWorkshetts puis ActiveWorkbook = rien

Voici mon dernier code sachant que j'ai tous mes essais sous le coude. merci de votre aide :

'
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
 
' impression Macro
 
Dans l 'ordre onglet 4 Fiche Recap
Application.Dialogs(xlDialogPrintPreview).Show
Range("A1:H92,I1:N56").Select
    Range("I1").Activate
    ActiveSheet.PageSetup.PrintArea = "$A$1:$H$92,$I$1:$N$56"
Dans l 'ordre onglets 6 + 11 + 16
    Sheets(Array("Liste A +", "Liste B +", "Liste HL +")).Select
    Sheets("Liste A +").Activate
Dans l 'ordre onglets 8 + 13
   Sheets(Array("Evaluation A", "Evaluation B")).Select
    Sheets("Fiche_recap").Select
Dans l 'ordre onglet 4 Fiche Recap - autre zone d'impression-
    Range("I57:N78").Select
    ActiveSheet.PageSetup.PrintArea = "$I$57:$N$78"
Dans l 'ordre onglets 9 + 14 + 18
    Sheets(Array("TRAVAUX A", "Travaux_B", "Travaux_HL")).Select
    Sheets("TRAVAUX A").Activate
Dans l 'ordre onglets 7 + 12 + 17
    Sheets(Array("Liste A -", "Liste B -", "Liste HL -")).Select
    Sheets("Liste A -").Activate
Le retour de l'onglet 4 - nouvelle zone d'impression-
    Sheets("Fiche_recap").Select
    Range("I94:N110").Select
    Range("O1:T111").Select
    ActiveWorkbook.SelectedSheets.Preview From:=10, To:=10, Copies:=1, _
        Collate:=True, IgnorePrintAreas:=False
 
        End Sub