Définir en VBA la zone d'impression par macro ?

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

P

pouty

Guest
<< Bonjour au forum,

<< Je cherche depuis un moment sur le forum une macro qui me demandrait la zone ou les zones de plages à imprimer sur une feuille excel ou deux feuille excel ?

<< Merci pour vos réponses à ce sujet
 
Re : Définir en VBA la zone d'impression par macro ?

<< J'ai trouvé un bout de code je l'ai modifier mais j'ai une erreur de synthase !!!!!

<< le code :


Sub Imprimer()
'
' Imprimer Macro
'
'
Dim Plage As Range
On Error Resume Next
Set Plage = Application.InputBox(prompt:="choisissez une plage avec la souris", Type:=8)


On Error GoTo 0
If Plage Is Nothing Then Exit Sub
Application.Goto Plage
If MsgBox('Voulez-vous imprimer la zone sélectionnée ?', vbYesNo) = vbYes Then
With ActiveSheet.PageSetup
.LeftHeader = ''
.CenterHeader = '&''Arial,Gras''&20VOITURE 1'
.RightHeader = ''
.LeftFooter = ''
.CenterFooter = '&D'
.RightFooter = '&T'
.LeftMargin = Application.InchesToPoints(0.31496062992126)
.RightMargin = Application.InchesToPoints(0.31496062992126)
.TopMargin = Application.InchesToPoints(0.984251968503937)
.BottomMargin = Application.InchesToPoints(0.984251968503937)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
 
Re : Définir en VBA la zone d'impression par macro ?

Bonsoir,

J'ai lu ta question, mais vu comment c'était rédigé, je me suis dit que c'était fait par une machine....

Je me vois mal commencé toute phrase par

<<Bonjour,

<<Vous allez bien?

<<J'ai un souci....

Euh, adepte inconditionnel du "php"?

Tu as trouvé un code, tu as un problème, mais à quelle ligne?

@ te relire
 
Re : Définir en VBA la zone d'impression par macro ?

<< je remets le code avec les lignes qui poseun probléme:



If MsgBox('Voulez-vous imprimer la zone sélectionnée ?', vbYesNo) = vbYes Then
With ActiveSheet.PageSetup
.LeftHeader = ''
.CenterHeader = '&''Arial,Gras''&20VOITURE 1'
.RightHeader = ''
.LeftFooter = ''
.CenterFooter = '&D'
.RightFooter = '&T'
 
Re : Définir en VBA la zone d'impression par macro ?

<< Bonjour au forum

<< Depuis hier sur ce forum j'ai pose un probleme sur ma macro je pense que je me suis mal exliquer sur le sujet.

<< J'ai une macro que j'ai essayer de modifier mais avec un niveau débutant en vba , un soutien est nécéssaire par ce forum :


<< Voici la macro

Sub Imprimer()
'
' Imprimer Macro
'
'
Dim Plage As Range
On Error Resume Next
Set Plage = Application.InputBox(prompt:="choisissez une plage avec la souris", Type:=8)


On Error GoTo 0
If Plage Is Nothing Then Exit Sub
Application.Goto Plage
If MsgBox('Voulez-vous imprimer la zone sélectionnée ?', vbYesNo) = vbYes Then
With ActiveSheet.PageSetup
.LeftHeader = ''
.CenterHeader = '&''Arial,Gras''&20VOITURE 1'
.RightHeader = ''
.LeftFooter = ''
.CenterFooter = '&D'
.RightFooter = '&T'
.LeftMargin = Application.InchesToPoints(0.31496062992126)
.RightMargin = Application.InchesToPoints(0.31496062992126)
.TopMargin = Application.InchesToPoints(0.984251968503937)
.BottomMargin = Application.InchesToPoints(0.984251968503937)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
End With
ActiveSheet.PageSetup.PrintArea = Plage.Address
ActiveSheet.PrintOut preview:=True
End If

End With
End Sub


J'ai une erreur de syntanse au niveau de la ligne :

If MsgBox('Voulez-vous imprimer la zone sélectionnée ?', vbYesNo) = vbYes Then
With ActiveSheet.PageSetup
.LeftHeader = ''
.CenterHeader = '&''Arial,Gras''&20VOITURE 1'
.RightHeader = ''
.LeftFooter = ''
.CenterFooter = '&D'
.RightFooter = '
 
Re : Définir en VBA la zone d'impression par macro ?

Bonjour le fil, bhbh, francedemo, pouty

Je propose 2 solutions :

1) Remplacer les quotes ' par des guillemets "
Code:
.CenterHeader = [B][COLOR=red]"[/COLOR][/B]&[COLOR=red][B]""[/B][/COLOR]Arial,Gras[B][COLOR=red]""[/COLOR][/B]&20VOITURE 1[B][COLOR=red]"[/COLOR][/B]
2) Utiliser l'enregistreur de macros.

A plus 🙂
 
- 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
113
D
  • Question Question
Réponses
5
Affichages
248
Didierpasdoué
D
Retour