definir une zone d'impression variable

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

M

Marion

Guest
Bonjour le forum.

voila un soucis que je n'arrive pas a régler.

je veux imprimer une feuille mais la zone d'impression varie a chaque fois (ligne en plus) .

la zone d'impression est a1:t50 et une petite v1:ad8

peut-on avec une macro définir la zone a chaque fois, pour eviter d'imprimer des feuilles blanches

Merci de vos réponses

A+Marion
 
Salut,
En nommant ton champs à imprimer :
- 1 - Tu surfaces le champs à imprimer
- 2 - au menu : Insertion - Nom - définir - Tu tapes le nom sans espace et sans caractères spéciaux.
Et voilà.
Tu n'as plus qu'à faire appel à ce champs nommé afin de l'imprimer.
Si tu ajoutes une ligne ou colonne, cela fonctionneras toujours.
@+
Roger
 
Bonsoir Marion, Roger & the others...

Marion je ne comprend pas bien ta question...

Tu veux autodimensionner ta zone d'impression en excluant toute la partie basse de ton tableau qui est vide ??

Ou tu veux simplement, une fois surfacée la zone à imprimer, t'affranchir de 'fichier/zone d'impression/définir' ? auquel cas cette mini-macro fera ce que tu souhaites:
Sub print()

Dim plage As Range
ActiveSheet.PageSetup.PrintArea = selection.Address
End Sub
 
Excuse moi Marion mais essaie d''être plus précise, tu veux exclure TOUTES les lignes vides, y compris celles qui sont entre des lignes pleines?? ou juste celles du bas ?

Poste en fichier joint ton classeur si tu veux, ça sera plus facile de se comprendre
 
Desolée Philippe de ce manque de précision, je vais essayer d'être plus clair (le fichier est trop important pour être envoyé)

prenons un exemple:

j'ai un tableaux de b1 a t70
la cellule b1.B2.B3.B4.B5 sont garnies si je clique sur un bouton la zone d'impression doit être B1:T5 et l'impression devra se faire uniquement sur ses lignes

Les cellules B1.B2.B3.B4.B5.B6.B7.B8.B9.B10.B11.B12 sont garnies la zone d'impression sera alors B1 T12 et lors de l'impression n'apparaitra sur ma feuille que ses lignes (avec le format bien sûr).

si toutes les cellules de la colonne B (jusqu'a B70) sont garnies alors le zone sera B1:T70 et il me faudra deuxfeuilles pour l'impression.

J'espère avoir été plus clair ce fois

Desolée et merci
Marion
 
Bonjour,

Tu peux définir le nom 'Zone_d_impression' par formule, sans bouton :
Barre de menu - Insertion - Nom - Définir
Dans la zone du haut, tu tapes 'Zone_d_impression'
Dans la zone du bas 'Fait référence à', tu tapes :
=DECALER(Feuil1!$B$1:$T$1;;;NBVAL(Feuil1!$B$1:$B$70)😉

DECALER(1ère ligne; 0 ligne donc omis; 0 colonne donc omis; hauteur : NBVAL(Feuil1!$B$1:$B$70);largeur idem B1:T1 donc omis)

Tu adaptes si B1 est vide, si ça ne démarre pas en B1, etc
[file name=ZoneImpressionMarion.zip size=2372]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ZoneImpressionMarion.zip[/file]
 

Pièces jointes

Alors au pied levé, après un bon diner... légèrement arrosé..

Sub zoneimpres()
For x = 70 To 1 Step -1
Range('B' & x & ':T' & x).Select
For Each cel In Selection
If Trim(cel.Value) <> '' Then
fin = x
GoTo suite
End If
Next cel
Next x
suite:
ActiveSheet.PageSetup.PrintArea = Range('B1:T' & fin)
End Sub

Testé et approuvé !!!

GOOD NIGHT !!!
 
Bonjour au forum, et merci a tous ce qui mon répondu.

J'ai essayer la methode de Monique, elle fonctionne trés bien, mais j'aimerais mieux une macro (cause si je veux définir une zone d'impression occasionnel je pense qu'elle ne fonctionneras plus

Phillippe ma donne un code mais il ne fonctionne pas je n'arrive pas a imprimer (repas trop arrosé sens doute).

en gros la formule de Monique en macro serait super

merci de votre aide

A+Marion
 
Bonjour le forum,
En testant la formule de Monique,
Tant qu'il n' y a pas des cellules vides dans la colonne B toute la zone remplie de la colonne B:T est selectionnée,
parcontre s'il y a une cellule vide dans la colonne B avant la fin de la zone à imprimer, la formule ne prend olus en compte toute la zone à imprimer.
Comment, Monique, Modifier ta formule pour definir la zone à imprimer selon la dernière cellule non vide de la colonne B sachant qu'il peut y avoir d'autres vides?
Merci
Bon dimanche
KIM
 
Bonjour le Forum, Bonjour Philippe,
J'ai testé ton code, il donne le message d'erreur suivant : ' Impossible de définir la propriété PrintArea de la classe PageSetup'
Comment y remedier?
est-il possible avant de definir un nouveau printarea, de supprimer les printarea dejà défini pour la feuille selectionnée?
Merci
KIM
 
Bonjour,

Ces 2 formules semblent fonctionner pour définir la zone d'impression jusqu'à la dernière cellule non vide de la colonne B :
=INDIRECT('$B$1:$T$'&MAX(SI($B$1:$B$70<>'';LIGNE($B$1:$B$70))))
=DECALER($B$1:$T$1;;;MAX(SI($B$1:$B$70<>'';LIGNE($B$1:$B$70)))😉
par insertion - nom - définir
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
770
Retour