Excel VBA problème pour imprimer 2 sections de cellules sur une même page

Bonjour,

Je travaille dans un hôpital et je suis en train de préparer le support planning 2021 pour les infirmiers.

J'aimerais qu'ils puissent imprimer le planning sur une seule page qui regroupe 2 sections de cellules de la même feuille "ActiveSheet"

J'arrive à générer l'impression des 2 sections mais celle-ci se fait toujours sur 2 pages différentes.

Cela fait 3h que je parcoure le forum et j'ai tout essayé : (fit to page , zoom etc...) mais ca ne fonctionne pas je suis toujours sur 2 pages à l'impression

Voilà ma commande :

Sub PlanningIADE()
'
' PlanningIADE Macro
' Impression du planning encadrement + IADE
'
' Touche de raccourci du clavier: Ctrl+Shift+A
'
ActiveWindow.SmallScroll Down:=-21
Range("A6:AI47").Select
Selection.PrintOut Copies:=1, Collate:=True
End Sub
Sub PlanningIBODE()
'
' PlanningIBODE Macro
' Impression du planning encadrement + IBODE
'
' Touche de raccourci du clavier: Ctrl+Shift+B
'
ActiveWindow.SmallScroll Down:=-21
Range("A6:AI16,A80:AI111").Select
Selection.PrintOut Copies:=1, Collate:=True

With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With

End Sub

--> Pour le planning IADE je n'ai pas de soucis car les zones de cellules à imprimer sont contigues (A6 à AI16 puis A17 à AI47) donc j'ai mis "A6;AI47)

--> Pour le planning IBODE en revanche les 2 zones ne sont plus contigues donc je renseigne les 2 sections (A6 à AI16 puis A80 à AI111) mais l'impression se fait toujours sur 2 pages différentes

Merci d'avance à ceux qui auront la solution car je dois encore générer les plannings d'autres catégories professionnelles toujours avec cette premiere section de A6 à A16

capture vba

Bonjour,

Tu pourrais peut-être masquer les lignes 17 à 79 juste avant l'impression, et les réafficher ensuite.

De mémoire ça doit être un truc du genre : Rows("17:79").hidden = true

Bonjour Ninoo et bienvenu, bonjour le forum,

Pas vraiment une solution mais plutôt une ruse...
Masque les lignes 17 à 79 avant l'impression puis ré affiche les après... À tester :

Sub PlanningIBODE()
Rows(17 & ":" & 79).Hidden = True
Range("A6:AI16,A80:AI111").Select
Selection.PrintOut Copies:=1, Collate:=True
With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Rows(17 & ":" & 79).Hidden = False
End Sub

[Édition]
C'est ce que l'on appelle ce faire griller ! Ha merci JoyeuxNoel, j'ai l'air de quoi maintenant, hein ?!... Heu, non ne répond pas... je sais...

Bonjour à tous,

Edit : bon, trop tard aussi :-)
Mais je mettrais une plage unique à imprimer : Range("A6:AI111")
eric

Edit2 : non, ta syntaxe est correcte aussi joyeuxnoel :-) J'ai supprimé la mienne

Ahah, tu as l'air de quelqu'un qui a pris le temps de donner une vraie réponse, avec un vrai code tout ça tout ça...

Ca prend plus de temps que de balancer une pauvre ligne qui est certainement fausse en plus ^^

Edit : voilà, confirmation officielle de la part d'eriiiic 😁

Merci à tous pour vos réponses. J'ai testé mais cela ne marche toujours pas ....

je continue à chercher si vous avez d'autres idées.

pas bonjour non plus,

bien sûr que si ça fonctionne.
Masques les lignes et imprimes la plage complète A6:AI111 d'un seul tenant
Sinon fourni un fichier de ce que tu as réalisé.
eric

re

bonjour

penser a ajuster le pagesetup a 1 page !!!

Rechercher des sujets similaires à "vba probleme imprimer sections meme page"