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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23760031
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
MichD
Le #23760101
Oups ! la dernière ligne de code devait se lire : End with plutôt que With ActiveSheet


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
Alex
Le #23760651
Merci beaucoup Michel pour la solution, et le conseil d'effacer la
plage d'impression, ca m'évitera sans doute des conflits avec d'autres
zones d'impression.
Cordialement.
Alex
Alex
Le #23762091
Re bonjour,

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
MichD
Le #23762511
Modifie la procédure comme ceci :

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
--------------------------------------------
Alex
Le #23762571
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
MichD
Le #23762661
Tu peux insérer ladite ligne de commande dans la procédure seulement pour effectuer un test.
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
Publicité
Poster une réponse
Anonyme