Zone d'impression variable [RESOLU]

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

jsl72

XLDnaute Junior
Bonjour à tous,

Pour faire des restitutions sur papier de données je suis amené à définir une zone d'impression dans des fichiers.xls
Problématique:
Les fichiers.xls à traiter changent de taille d'une fois à l'autre et par voie de conséquence la zone d'impression aussi.

J'ai enregistré un code que voici.

Sub zone_impression()
Range("A12").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.PageSetup.PrintArea = "$A$12:$D$30"
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Cependant "$A$12:$D$30" pour un fichier peut devenir "$A$12:$D$45" pour un autre fichier.

J'ai essayé --> ActiveSheet.PageSetup.PrintArea = ""

Cela me sélectionne toutes les données de la feuille active, ce n'est pas le but.

Merci à qui prendra un peu de son temps pour m'aider.

En pièce jointe, type de fichier d'où je fais des restitutions.

Bonne soirée.

Joël
 

Pièces jointes

Dernière édition:
Re : Zone d'impression variable

Bonjour fenec,

Merci pour ton aide.

Cependant ma problématique reste entière.

Problématique:
Les fichiers.xls à traiter changent de taille d'une fois à l'autre et par voie de conséquence la zone d'impression aussi.

Cordialement.

Joël
 
Re : Zone d'impression variable

Bonjour Jacques,

Tes liens sont très intéressants, j'y ai trouvé mon bonheur.

En utilisant le code suivant :
Code:
Sub ImpressionDynamique()
  ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address
  ActiveWindow.SelectedSheets.PrintPreview
End Sub
Dans mon fichier j'ai été obligé, au préalable, comme me l'avait l'indiqué fenec dans sa réponse, de remplir les cellules vides entre A1 et A10 par des caractères de couleur blanche (invisible à l'impression).

Merci Jacques, merci Fenec
Grâce à votre aide, vos réponses conjuguées n'ont permis d'avancer d'un grand pas.
C'est super.

Bonne soirée.
 
Re : Zone d'impression

Bonsoir fenec,

Ta solution n'était pas ma priorité au prime abord.
Pourtant elle a eu une importance capitale au moment d'utiliser le code de Jacques.
Code:
Sub ImpressionDynamique()
  ActiveSheet.PageSetup.PrintArea = [A1].CurrentRegion.Address
  ActiveWindow.SelectedSheets.PrintPreview
End Sub
Dans mon fichier j'ai été obligé, au préalable, de remplir les cellules vides entre A1 et A10 par des caractères de couleur blanche (invisible à l'impression).

Merci Jacques, merci Fenec
Grâce à votre aide, vos réponses conjuguées n'ont permis d'avancer d'un grand pas.
C'est super.

Bonne soirée.
 
Re : Zone d'impression variable

Bonsoir jsl72

Pour ne pas à avoir à écrire dans les cellules suffisait de changer la cellule de départ

Code:
.PrintArea = "A12:D" & DLigColD

par

Code:
.PrintArea = "A1:D" & DLigColD

j'ai aussi rajouter

Code:
Range("D30").Value = "xxx"
 Range("D30").Select

pour ne pas avoir besoin d'écrire en blanc dans la cellule "D30"

A+
 

Pièces jointes

- 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
0
Affichages
1 K
Réponses
6
Affichages
1 K
Compte Supprimé 979
C
Retour