Zone d'impression variable [RESOLU]

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

  • T14240641.xls
    24.5 KB · Affichages: 47
Dernière édition:

fenec

XLDnaute Impliqué
Re : Zone d'impression

Bonsoir jsl72

Une idée avec un code que m'a soumis un xld

Bonne soirée
 

Pièces jointes

  • T14240641(1).xls
    37.5 KB · Affichages: 48
  • T14240641(1).xls
    37.5 KB · Affichages: 51
  • T14240641(1).xls
    37.5 KB · Affichages: 52

jsl72

XLDnaute Junior
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
 

jsl72

XLDnaute Junior
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.
 

jsl72

XLDnaute Junior
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.
 

fenec

XLDnaute Impliqué
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

  • T14240641(1).xls
    37 KB · Affichages: 59
  • T14240641(1).xls
    37 KB · Affichages: 59
  • T14240641(1).xls
    37 KB · Affichages: 67

Discussions similaires

Réponses
6
Affichages
1 K
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 203
Messages
2 086 191
Membres
103 152
dernier inscrit
Karibu