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
Partager