Zone d'impression - Pb de syntaxe

demongin

XLDnaute Nouveau
Bonjour,

Grâce à la fonction Concatener, j'ai défini dans ma feuille les plages de cellules concernées par la zone d'impression en fonction des choix fait par l'utilisateur.
J'ai également ajouté une partie du code que je pense utile à l'exécution de la macro.
Ainsi, la cellule GQ10 affiche le résultat suivant :
Code:
ActiveSheet.Range(A79:CR140,A203:CR342).Address
Le code VBA donne quant à lui :
Code:
Dim Plages as String
Plages = Range ("GQ10").Value
ActiveSheet.PageSetup.PrintArea = "Plages"

Cela me donne une erreur 1004, impossible de définir la propriété PrintArea de la classe PageSetup.
J'ai essayé d'autres formulations, mais sans succès.
La finalité est que le code doit lire la plage obtenue dans ma feuille.

Je pense que je fais sans doute une erreur basique de débutant, mais si vous pouvez me donner un petit coup de main, je vous en serais gré.
 

camarchepas

XLDnaute Barbatruc
Re : Zone d'impression - Pb de syntaxe

Bonjour,

Là , je comprends pas grand chose:
PrintArea = plages si tu veux mais à "Plages" , ça peux pas marcher.

Mais en fait quelle portion de feuille veux tu imprimer ?

dès fois un ptit fichier bien mieux que de grandes explications dans le vide.
 

demongin

XLDnaute Nouveau
Re : Zone d'impression - Pb de syntaxe

Bonjour,

Là , je comprends pas grand chose:
PrintArea = plages si tu veux mais à "Plages" , ça peux pas marcher.

Mais en fait quelle portion de feuille veux tu imprimer ?

dès fois un ptit fichier bien mieux que de grandes explications dans le vide.

Merci et tout à fait d'accord avec toi.
Cela dit, mon fichier fait plus de 1,7 Mo !

Ce que je veux imprimer, ce sont les plages qui ont été constituées dans la cellule GQ10.

Je viens d'essayer cette seule ligne de code et cela semble marché, même si cela à l'air tordu ! :
Code:
ActiveSheet.PageSetup.PrintArea = ActiveSheet.Range(Range("GQ10").Value).Address

Qu'en pensez-vous ? une meilleur idée ?
 

YANN-56

XLDnaute Barbatruc
Re : Zone d'impression - Pb de syntaxe

Bonjour à vous et à ceux qui passeront par là.

Une façon de faire:

Code:
With Worksheets("Feuil1").PageSetup ' Tu mets le nom de ta feuille à imprimer,
                            ' ou la feuille Active
           .PrintArea = "$A$1:$R$43" ' Zone à préciser
          ' .BlackAndWhite = True ' Si tu la veux en noir et blanc
         End With
         
Worksheets("Feuil1").PrintOut

Amicalement

Yann
 

demongin

XLDnaute Nouveau
Re : Zone d'impression - Pb de syntaxe

Bonjour à vous et à ceux qui passeront par là.

Une façon de faire:

Code:
With Worksheets("Feuil1").PageSetup ' Tu mets le nom de ta feuille à imprimer,
                            ' ou la feuille Active
           .PrintArea = "$A$1:$R$43" ' Zone à préciser
          ' .BlackAndWhite = True ' Si tu la veux en noir et blanc
         End With
         
Worksheets("Feuil1").PrintOut

Amicalement

Yann

Merci Yann, mais dans mon cas, la zone est variable en fonction des choix de l'utilisateur et le classeur est verrouillé.
Je ne cherche donc pas à imprimer par macro, mais à définir une zone d'impression variable que les utilisateurs non autorisés ne peuvent modifier manuellement (traditionnellement).
Pour l'automatisation de l'impression, je ne pense pas mettre en place cette possibilité car je n'ai et ne peux avoir aucune idée des imprimantes qui seront utilisées.
Une chose serait toutefois intéressante afin que la mise en page soit conservée à coup sûr, mais je ne sais pas si c'est possible sans aller au bout d'une édition : j'aimerai bien fixer par défaut le nombre de page en L et l avec une mise à l'échelle auto sur un format A4 (ainsi, peut importe les marges de l'utilisateur).
 

YANN-56

XLDnaute Barbatruc
Re : Zone d'impression - Pb de syntaxe

Désolé de ne pouvoir aller plus loin.

Je ne travaille jamais avec les fonctions d'Excel.
"Concaténer" pour moi c'est de l'hébreu!

Pour le reste:
Par macro, on peut définir les marges,
le format d'édition, la couleur, la qualité… Et c.

Le nombre de feuilles avec un "PrintPreview"
(Autrement je n'ai jamais regardé)

Autre note: si le classeur est "Verrouillé" comment peux-tu modifier:
Range ("GQ10").Value ?

Ceci dit, tu trouveras certainement à t'aider en fouinant par ici.
Quant à moi, pour la raison citée en premier; je m'incline.

Amicalement

Yann
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 101
Membres
104 031
dernier inscrit
RimeF