Nommer une zone d'impression

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

nrdz83

XLDnaute Impliqué
Bonjour à tous une question est-il possible de nommer une zone dans une feuille (zone 1) par exemple.

Et de faire une macro pour n'imprimer que la zone 1, en sachant que dans la même feuille il y aura jusqu'a quatre zones d'impression.

Une macro de ce genre :
Code:
Sub imprimerZone1()
Sheets("feuil1").Range("zone1").printOut
End Sub

Par avance merci à tous et bon dimanche , amitiés🙄
 
Re : Nommer une zone d'impression

Bonjour


Voir du cote de PrintArea
Code:
Sub Macro1()
Dim r As Range
Set r = ActiveSheet.Range("A1:C10"): r.Name = "toto"
ActiveSheet.PageSetup.PrintArea = [toto].Address
ActiveSheet.PrintPreview
End Sub
 
Dernière édition:
Re : Nommer une zone d'impression

Re

Code:
Sub imprimerZone1()
Sheets("feuil1").Range("zone1").printOut
End Sub
Devrait donner
Code:
Sub imprimerZone1()
Sheets("feuil1").PageSetup.PrintArea = Sheets("feuil1")
.Range("zone1").Address
Sheets("feuil1").printOut
End Sub
 
Re : Nommer une zone d'impression

re staple 1600 et merci pour l'aide que tu m'apportes j'ai cette erreur:
Code:
Sub imprimerZone1()
Sheets("feuil1").PageSetup.PrintArea = Sheets("feuil1")
[COLOR="Red"].Range[/COLOR]("zone1").Address
Sheets("feuil1").PrintOut
End Sub
j'ai donc selectionné ma zone dans ma feuille (A66:F90) et l'ai nommé zone1.

D'ou peut provenir cette erreur?
Pour infos je suis en excel 2003, je ne sais pas si ça a une importance.
Merci
 
Re : Nommer une zone d'impression

Re

Oui normal (erreur de copier/coller , désolé)

Code:
Sub imprimerZone1()
Sheets("feuil1").PageSetup.PrintArea = Sheets("feuil1").Range("zone1").Address
Sheets("feuil1").PrintOut
End Sub

Tu peux modifier ainsi aussi
Code:
Sub imprimerZone1()
With Sheets("feuil1")
.PageSetup.PrintArea = [COLOR=Red].Range[/COLOR]("zone1").Address
.PrintOut
End with
End Sub
 
Re : Nommer une zone d'impression

re staple1600 super impeccable je vais retenir ce code
Code:
[Sub imprimerZone1()
With Sheets("Feuil1")
ActiveSheet.PrintPreview
.PageSetup.PrintArea = .Range("zone1").Address
.PrintOut
End With
End Sub
/CODE]

Il ne me reste plus qu'a faire les trois autres zones les associer à ce code et les mettre dans uns un usf avec un option button qui correspondra au choix de la zone a imprimer.
Mais c'est pas gagner , allez je me tente, amitiés et encore merci pour tout:cool:
 
Re : Nommer une zone d'impression

rebonsoir pour finir j'utilise ces codes car l'autre par moment gardé les anciennes zones, donc ceux là impec égalements
Code:
Sub imprimerZone1()
Sheets("Feuil1").PageSetup.PrintArea = Sheets("Feuil1").Range("zone1").Address
ActiveSheet.PrintPreview
Sheets("Feuil1").PrintOut
End Sub

Sub imprimerZone2()
Sheets("Feuil1").PageSetup.PrintArea = Sheets("Feuil1").Range("zone2").Address
ActiveSheet.PrintPreview
Sheets("Feuil1").PrintOut
End Sub

Sub imprimerZone3()
Sheets("Feuil1").PageSetup.PrintArea = Sheets("Feuil1").Range("zone3").Address
ActiveSheet.PrintPreview
Sheets("Feuil1").PrintOut
End Sub
Sub imprimerZone4()
Sheets("Feuil1").PageSetup.PrintArea = Sheets("Feuil1").Range("zone4").Address
ActiveSheet.PrintPreview
Sheets("Feuil1").PrintOut
End Sub

Je souhaite associer chaque code de zone a un optionbutton,
comment dois rédiger mon code?
mes optionbutton sont només optionbutton1; optionbutton2,ect

par avance merci
 
Re : Nommer une zone d'impression

Re


Une façon d'alléger ton code


Code:
Public Sub imprimerZones(Feuille As String, ByVal z As Long)
Sheets(Feuille).PageSetup.PrintArea = _
Sheets(Feuille).Range(CStr("zone" & z)).Address
Sheets(Feuille).PrintPreview
'Sheets(Feuille).PrintOut
End Sub
Code:
Sub MAIN_PROC()
Dim choix
choix = InputBox("choix zone ?")
imprimerZones "Feuil1", choix
End Sub
Il faut qu'il y ait des plages nommées : zone1 zone2 zone3 etc..

Ensuite tu lances la macro MAIN_P

PS:je suppose que tu utilises un userform non ?
 
Re : Nommer une zone d'impression

Re

Dans le code de l'userform (ici avec 3 optionbutton)
et dans la feuille 3 plages nommes zone1 zone2 et zone3

Pour tester, lancer la macro : lancerUSF

Code:
Public Sub imprimerZones(Feuille As String, ByVal z As Long)
Sheets(Feuille).PageSetup.PrintArea = _
Sheets(Feuille).Range(CStr("zone" & z)).Address
Sheets(Feuille).PrintPreview
'Sheets(Feuille).PrintOut
End Sub

Private Sub OptionButton1_Click()
imprimerZones "Feuil1", 1
End Sub

Private Sub OptionButton2_Click()
imprimerZones "Feuil1", 2
End Sub

Private Sub OptionButton3_Click()
imprimerZones "Feuil1", 3
End Sub
Dans un module
Code:
Sub [B]lancerUSF[/B]()
UserForm1.Show 0
End Sub
 
Re : Nommer une zone d'impression

merci staple 1600 les codes
Code:
Public Sub imprimerZones(Feuille As String, ByVal z As Long)
Sheets(Feuille).PageSetup.PrintArea = _
Sheets(Feuille).Range(CStr("zone" & z)).Address
Sheets(Feuille).PrintPreview
'Sheets(Feuille).PrintOut
End Sub
Code:
Sub MAIN_PROC()
Dim choix
choix = InputBox("choix zone ?")
imprimerZones "Feuil1", choix
End Sub

il faut les coller dans la feuil1 ou dans un module?
merci encore pour tout
 
- 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
7
Affichages
165
Réponses
4
Affichages
706
Réponses
16
Affichages
1 K
Retour