Problème sur zone d'impression
Le
Alex

Bonjour à tous,
Je rencontre un problème sur une zone d'impression, et m'en explique.
Via un formulaire avec une Listbox, je voulais automatiser la zone
d'impression suite au résultat obtenu avec les filtres, et j'avais
écrit ceci :
ActiveSheet.PageSetup.PrintArea = [CY3].CurrentRegion.Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Mon problème, c'est que le CurrentRegion prend aussi ma ligne de titre
et de choix filtre dans la zone d'impression (donc doublon d'edition
de la ligne de titre et edition des critères utilisés + résultat de l=
a
recherche), alors que je souhaiterai qu'il ne prenne que ma ligne de
titre d'extraction et les données.
Quelqu'un aurait il la solution à mon problème.
Merci par avance de votre aide.
Bien Cordialement.
Alex
Je rencontre un problème sur une zone d'impression, et m'en explique.
Via un formulaire avec une Listbox, je voulais automatiser la zone
d'impression suite au résultat obtenu avec les filtres, et j'avais
écrit ceci :
ActiveSheet.PageSetup.PrintArea = [CY3].CurrentRegion.Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Mon problème, c'est que le CurrentRegion prend aussi ma ligne de titre
et de choix filtre dans la zone d'impression (donc doublon d'edition
de la ligne de titre et edition des critères utilisés + résultat de l=
a
recherche), alors que je souhaiterai qu'il ne prenne que ma ligne de
titre d'extraction et les données.
Quelqu'un aurait il la solution à mon problème.
Merci par avance de votre aide.
Bien Cordialement.
Alex
C'est une bonne habitude à prendre que d'éliminer la plage définie
après l'impression.
'--------------------------
with ActiveSheet
with .[CY3].CurrentRegion
.Parent.PageSetup.PrintArea = .Offset(1).Resize(.Rows.Count - 1).Address
.PrintOut Copies:=1, Collate:=True
.Parent.PageSetup.PrintArea = ""
End with
With ActiveSheet
'--------------------------
MichD
--------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Je rencontre un problème sur une zone d'impression, et m'en explique.
Via un formulaire avec une Listbox, je voulais automatiser la zone
d'impression suite au résultat obtenu avec les filtres, et j'avais
écrit ceci :
ActiveSheet.PageSetup.PrintArea = [CY3].CurrentRegion.Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Mon problème, c'est que le CurrentRegion prend aussi ma ligne de titre
et de choix filtre dans la zone d'impression (donc doublon d'edition
de la ligne de titre et edition des critères utilisés + résultat de la
recherche), alors que je souhaiterai qu'il ne prenne que ma ligne de
titre d'extraction et les données.
Quelqu'un aurait il la solution à mon problème.
Merci par avance de votre aide.
Bien Cordialement.
Alex
MichD
--------------------------------------------
"MichD" a écrit dans le message de groupe de discussion : j4qba1$7r4$
Bonjour,
C'est une bonne habitude à prendre que d'éliminer la plage définie
après l'impression.
'--------------------------
with ActiveSheet
with .[CY3].CurrentRegion
.Parent.PageSetup.PrintArea = .Offset(1).Resize(.Rows.Count - 1).Address
.PrintOut Copies:=1, Collate:=True
.Parent.PageSetup.PrintArea = ""
End with
With ActiveSheet
'--------------------------
MichD
--------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Je rencontre un problème sur une zone d'impression, et m'en explique.
Via un formulaire avec une Listbox, je voulais automatiser la zone
d'impression suite au résultat obtenu avec les filtres, et j'avais
écrit ceci :
ActiveSheet.PageSetup.PrintArea = [CY3].CurrentRegion.Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Mon problème, c'est que le CurrentRegion prend aussi ma ligne de titre
et de choix filtre dans la zone d'impression (donc doublon d'edition
de la ligne de titre et edition des critères utilisés + résultat de la
recherche), alors que je souhaiterai qu'il ne prenne que ma ligne de
titre d'extraction et les données.
Quelqu'un aurait il la solution à mon problème.
Merci par avance de votre aide.
Bien Cordialement.
Alex
plage d'impression, ca m'évitera sans doute des conflits avec d'autres
zones d'impression.
Cordialement.
Alex
Après revérification, le problème n'est pas résolu, cela m'imprime
toujours deux lignes de titre avec sa ligne de "critères".
De plus un nouveau problème vient à moi, au niveau du titre de
l'édition, j'ai écrit ceci :
With ActiveSheet.PageSetup
...
.CenterHeader = "ETAT RECAPITULATIF DU FICHIER VENTE -
EDITION PERSONNALISEE SELON CRITERE(S) :" & Chr(10) _
& " Immeuble : " & Me.RechIMMEUBLE.Value & " Propriétaire : "
& Me.RechPROP.Value & " Type de Lot : " & Me.RechLOT.Value & "
Statut : " & Me.RechSTATUT.Value & " N° de Regroupement : " &
Me.RechNUMGROUP.Value
...
End With
Et j'ai le message suivant :
Erreur d'excution '1004' :
Impossible de définir la propriété Center Header de la Classe
Pagesetup
Auriez vous la solution pour mes deux problèmes ?
Avec mes remerciements.
Alex
Pour ce qui est de "CenterHeader", il y a un "HIC" si tu fais la somme du
nombre de caractères de "LeftHeader" + "CenterHeader" + "RightHeader",
le total ne peut pas excéder plus de 255 caractères. À cette chaîne, il faut
soustraire un certain nombre de caractères utilisé par Excel lorsque tu utilises
un formatage particulier pour chaque section d'en-tête. Comme ne n'ai pas
la valeur de tes variables, je ne peux vérifier la longueur de la chaîne, tu n'as
qu'à utiliser ceci :
NbCaractere = Len("ETAT RECAPITULATIF DU FICHIER VENTE " & _
"- EDITION PERSONNALISEE SELON CRITERE(S) :" & Chr(10) _
& " Immeuble : " & Me.RechIMMEUBLE.Value & " Propriétaire : " & _
Me.RechPROP.Value & " Type de Lot : " & Me.RechLOT.Value & _
" Statut : " & Me.RechSTATUT.Value & " N° de Regroupement : " & _
Me.RechNUMGROUP.Value)
'--------------------------------------------
Sub test()
With ActiveSheet
.PageSetup.CenterHeader = "ETAT RECAPITULATIF DU FICHIER VENTE " & _
"- EDITION PERSONNALISEE SELON CRITERE(S) :" & Chr(10) _
& " Immeuble : " & Me.RechIMMEUBLE.Value & " Propriétaire : " & _
Me.RechPROP.Value & " Type de Lot : " & Me.RechLOT.Value & _
" Statut : " & Me.RechSTATUT.Value & " N° de Regroupement : " & _
Me.RechNUMGROUP.Value
With .Range("A1").CurrentRegion
.Offset(1).Resize(.Rows.Count - 1).PrintOut Copies:=1, Collate:=True
End With
End With
End Sub
'--------------------------------------------
MichD
--------------------------------------------
Merci pour ta réponse. Par contre, je n'ai pas compris ou il faut que
je mette ta ligne de commande Nbcaractere dois je l'integrer avec ma
mise en page ?
Sinon en effet, entre le titre et mes variables, on dépasse les 250
caractères.
Merci d'avance pour ta réponse.
VBAlement, :-)
Alex
Si tu te retrouves près du nombre de caractères limites et que le contenu des variables est
variable, il est possible qu'à l'occasion la limite soit atteinte et qu'une erreur
soit retournée. Au besoin, scinde ton texte que tu veux afficher en 2. Une partie
dans l'en-tête de la mise en page et une autre dans le pied de page. Le nombre
total de caractères dans le pied de page est soumis à la même exigence que
l'en-tête.
MichD
--------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :
Bonjour Michel,
Merci pour ta réponse. Par contre, je n'ai pas compris ou il faut que
je mette ta ligne de commande Nbcaractere dois je l'integrer avec ma
mise en page ?
Sinon en effet, entre le titre et mes variables, on dépasse les 250
caractères.
Merci d'avance pour ta réponse.
VBAlement, :-)
Alex