[Excel 2002] Saut de page à chaque sous-total

chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai un souci pour faire des sauts de pages à chaque sous-total dans mes données.

Je passe par une macro VBA, dans laquelle je dis supprimer les sauts de page automatiques
ActiveSheet.DisplayAutomaticPageBreaks = False
, et ensuite je fais mes sous totaux sur mes données, et je demande un saut de page à chaque sous-total :
Selection.Subtotal GroupBy :=3, function:=xlSum, TotalList:=Array(13), Replace:=True, PageBreaks:=True, SuymmaryBelowData:=True


Il semblerait que les sauts de pages automatiques sont encore actifs malgré le code pour les déscativer.

Quelqu'un pourrait-il m'aider à enlever ces satanés sauts automatiques ?

Merci d'avance !

Cordialement.

A voir également:

2 réponses

chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Finalement j'ai réussi à résoudre mon problème, mais le soucis est que dès lors que je clique n'importe où sur mon document, les sauts de pages définis disparaissent ! Comment faire pour que ceux-ci restent définis jusqu'à la fermeture du classeur ?

Merci d'avance !
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

ActiveSheet.DisplayAutomaticPageBreaks = False
A mon avis ne concerne que l'affichage des sauts de page automatiques.
Je ne pense pas que tu puisses les supprimer, il faut mettre suffisamment de saut de page manuels (au bout de x lignes maxi) pour éviter leur insertion.

Une idée : tu pourrais balayer les lignes en interrogeant la propriété .PageBreak de la ligne.
En retour tu obtiens xlPageBreakAutomatic ou xlPageBreakManual ou xlPageBreakNone.
A toi de voir où introduire un saut de page manuel à un endroit judicieux (pour la lecture, éviter les lignes orpheline ) au-dessus des sauts de page automatiques.

eric

PS: si tu avais un fichier exemple pour voir...

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Salut chossette9,

je viens de voir qu'on avait écrit exactement en même temps, tu n'as pas dû voir ma réponse.
Quand à ta nouvelle question, si elle est toujours d'actualité, il faudrait le code que tu as mis.

eric
0
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Merci pour ton aide eriiic, j'ai finalement réussi à résoudre mon souci en m'inspirant de la première partie de ta réponse :
- j'ai fait le code suivant pour sélectionner l'aperçu des sauts de page, supprimer les sauts de pages définis et j'ai déplacé le saut de page automatique. Puis j'ai pu insérer mes sauts de pages
Activewindow.selectedsheets.Printpreview
Activesheet.ResetallpageBreaks
Activesheet.HpageBreaks(1).DragOff Direction:=xlDown, IndexRegion:=1


La première ligne permet d'afficher l'apperçu avant impression. pour pouvoir visualiser l'aperçu des sauts de page, il me faut appuyer sur un bouton.
Sais-tu comment dire en VBA qu'il faut appuyer sur le bouton 'Page Break Preview' (en anglais car je travaille sur Excel 2002 en anglais) ?

Merci d'avance !
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Re,

Si j'ai bien compris :
Dim sh As Worksheet
For Each sh In ActiveWindow.SelectedSheets
    sh.DisplayPageBreaks = True
Next sh

A+
eric
0