XL 2010 Macro saut de page adaptable selon dates TCD

safranien

XLDnaute Occasionnel
Bonjour

je dispose d'un fichier qui rècupère des données journalières sur un serveur. Sur une feuille, j'ai TCD reprenant une partie de ces données. Ces données peuvent débuter à n'importe quelle date mais ce sera toujours le er du mois qui sera la première date (01/01/20XX ou 01/03/XX etc). Dans tous les cas, au final, j'aurais toujours un tableau comportant des donénes pour 365 ou 366 jours. Mon TCD va donc s'agrandir au fur et à mesure et dès que je passe une certaine date je dois réarranger les sauts de page.
N'y aurait-il pas une possibilité de décalrer que le premier saut de page doit être au niveau de la ligne qui sera le dernier jour du 4e mois après la première date des données puis un autre saut de ligne qui se mettra 4 mois plus tard et enfin encore 4 mois plus tard?

Dans mon exemple, mes données débutent au 01/01/2020. Il faudrait donc que le premier saut de ligne se positionne au niveau de la ligne qui accueillera la date du 30/04 (ligne qui va varier selon que l'on est en année bissextile ou non).
Le 2e saut de page devra apparaître dès lors que les dates du TCD auront dépasser le 30/04 pour aller se positionner 4 mois plus tard, soit au niveau de la ligne qui accueillera la date du 31/08.
Idem ensuite pour le 31/12.

Ceci est un exemple pour un début au 01/01 mais la logique est la même si je passe sur une affaire dont les données débutent par exemple au 01/03/XX. Les sauts de lignes devront alors se faire au 30/06/XX - 31/10/XX - 28 ou 29/02/XX+1.

Merci d'avance pour votre aide.
 

Pièces jointes

  • essai - SAUTS DE PAGES.xlsm
    53.4 KB · Affichages: 10

chris

XLDnaute Barbatruc
Bonjour

Une solution simple est de commencer par modifier tes formules pour ne pas mélanger des chaînes vides et des dates (applique un format de nombre si tu ne veux pas voir les dates à 0 (0/1/1900) et fait un regroupement par trimestre et jour dans le TCD.
Il est ensuite très simple de paramétrer le champ Trimestre pour qu'il y ait un saut de page.

Cependant 90 dates sur une page, c'est illisible...
 

safranien

XLDnaute Occasionnel
Bonjour
Merci mais mon souci n'est pas sur les formules ni sur le fait que les données seront illisibles car elles sont traitées avec une MFC. C'est un fichier exemple pour simuler l'apparition de nouvelles données dans le TCD. Dans mon fichier de travail les dates ne sont pas calculées elles apparaissent au fur et à mesure avec les données récupérées sur serveur. Dans tous les cas, je n'ai pas compris le principe de créer un champ trimestre d'y associer un saut de page. Un nouveau saut de page s'insérera automatiquement quand le TCD grandira?
Voilà à quoi ressemble mon TCD mis en forme avec les données :
1595149015437.png
 
Dernière édition:

chris

XLDnaute Barbatruc
RE

Un saut de page se fera automatiquement à la fin de chaque trimestre une fopis le chmap Trimestre paramétré
Mais si tu ne changes pas les formules, tu ne peux obtenir de trimestre dans un TCD...

Quant à la lisibilité si la date n'est pas lisible, je ne vois pas trop l'intérêt mais chacun voit midi à sa porte comme on dit...
 

safranien

XLDnaute Occasionnel
Re
Désolé mais je n'arrive pas à cerner comment faire ce champ trimestre et qu'est ce qui fait qu'un saut de page se créera automatiquement des lors que le TCD grandira alors qu'aujourd'hui ça ne me le fait pas. Si tu as un exemple de mise en forme je suis preneur.
Merci

Ps Les dates sont parfaitement lisibles dans mon fichier comme tu peux le voir sur la capture d'écran
 

chris

XLDnaute Barbatruc
RE

Voir ci-joint
Je parle de la lisibilité sur papier et non à l'écran car un saut de page fait référence à l'impression

A noter qu'un trimestre c'est 3 mois et non 4 donc pas tout à fait ta demande initiale...
 

Pièces jointes

  • TrimestresTCD.xlsx
    24.5 KB · Affichages: 9

safranien

XLDnaute Occasionnel
Bonjour

merci pour ton fichier. Comment fais tu pour créer ce champ stp? Par contre j'ai fait l'essai de supprimer des dates dans l'onglet Feuil1 et d'actualiser le TCD et plus de champ trimestre et plus de saut de page qui se cale convenablement.
 

chris

XLDnaute Barbatruc
RE

Comme déjà au #2, grouper les dates du TCD par trimestre et jour puis paramétrer le champ trimestre

Si paramétré le saut de page se fait bien à la fin de chaque trimestre

Après, si le nombre de dates est très variable d'un trimestre à l'autre, il faut que le coeff d'impression soit calculé selon le plus rempli pour que le trimestre ne soit pas coupé sur plusieurs pages

Sur un trimestre complet (92 jours maxi), avec mon imprimante (le coeff se calcule par rapport au pilote de l'imprimante) je dois mettre 56%

On obtient automatiquement le coeff en mettant une année complète sur 4 pages après il suffit de l'appliquer pour qu'une page de TCD corresponde à une page imprimée

Si tu supprime des lignes et n'efface pas des dates, le champ trimestre ne se perd pas. Comme déjà dit aussi au #2, un regroupement ne fonctionne que si les lignes sources sont des dates
Les vides sont tolérés (depuis la version 2010) mais pas "" et si les si le TCD a été créé sans vides, il faut effectivement reparamétrer le regroupement.

Le TCD offre d'énormes possibilités mais a des règles que tu semble méconnaître, ton TCD n'en étant pas réellement un semble-t-il puisque sans calcul...
 
Dernière édition:

safranien

XLDnaute Occasionnel
merci pour ces explications. Effectivement je méconnais pas mal de choses. Ca me confirme que pour ce que j'ai besoin de faire, j'ai besoin d'une macro, d'autant plus que mes dates peuvent changer en permanence (mon point de départ) et que je souhaite être sur un quadrimestre.
Merci encore pour tes propositions et explications.
 

safranien

XLDnaute Occasionnel
Bonjour
pour compléter, il y a dans mon fichier exemple, un menu déroulant qui permet de choisir 3 cas (actualiser le TCD après élection), pour simuler différents cas de taille du TCD en fonction des dates.
Donc, pour tenter de re-expliquer au mieux, est-il possible qu'ue macro puisse de manière automatique, à chaque fois que le TCD s'agrandit de nouvelles dates, définir des sauts de pages?
Ce qui est immuable est que la plage imprimable délimitée par les sauts de pages doit aller de B2 à CO XX.
Dans le cas n°1, il n'y aura qu'une page imprimable. Tant que la dernière date du TCD n'a pas dépassé le dernier jour du 4e mois après la 1ere date du TCD (soit le 30/04 ici).
Dans le cas n°2, il y aura deux pages, car on dépasse le 30/04. La dernière date du cas 2 est le 02/07, en ligne 189. La plage imprimable sera donc de B2 à CO189. Et ce saut de page doit suivre le TCD qui va s'agrandir au fur et à mesure de nouvelles dates.
Dans le cas 3, on est sur l'année complète, la plage imprimable doit donc être de B2 à CO370 avec des sauts de page intermédiaires en lignes 125 (correspondant au 30/04) et 248 (correspondant au 31/08).

Soit un saut de page tous les 4 mois, depuis la première date du TCD (qui ne sera pas forcément un 1er janvier).

Personne n'a jamais eu besoin de créer un code pour un cas de figure similaire?

En PJ, le rendu du positionnement des sauts de pages sur l'année complète.
 

Pièces jointes

  • essai - SAUTS DE PAGES.xlsm
    58.3 KB · Affichages: 2

Discussions similaires