XL 2019 Masquer des lignes avec VBA si supérieures ou inférieures à une date définie

FloASF63

XLDnaute Nouveau
Bonjour à tous,
Voici mon tout premier message afin de vous demander de l'aide. Bien que je vous suive très régulièrement et vous m'avez été d'une aide précieuse jusqu'à maintenant. Aujourd'hui je bloque sur quelque chose peut être de tout simple (en tout cas pas pour moi car je n'ai pas de connaissances VBA), à savoir masquer des lignes en fonction d'une date. Je m'explique plus précisément et je joindrais le fichier pour mieux comprendre.

Pour mon activité je dois établir des rapports qui sont destinés aux clients, j'ai donc sur mon fichier excel 2 feuilles, une feuille général et une feuille modèle client. Pour la feuille générale il n'y a rien à toucher, par contre pour la feuille client, j'ai 3 éléments clés à voir savoir deux dates en D3 et F3 et mon tableau de données qui commence ligne 33.
Ce que je souhaiterai dans l'idéal et qui me comblerait :) , c'est que en gros dans mon tableau il ne soit affiché que les données entre les dates qui sont en D3 et F3 et pour ça j'aurai besoin de simplement masquer les lignes du tableau dont les dates sont <D3 et masquer les lignes >F3 ET effacer le contenu de ces lignes masquées.

Il est possible de la faire en manuel en sélectionnant les lignes à masquer et en effaçant le contenu, mais le problème c'est que je dois faire 500 fiches clients, je souhaiterai donc automatiser cela avec VBA :)

Je vous remercie grandement par avance pour l'aide que vous m'apporterez.
Florian
 

Pièces jointes

  • rapport-clients-copie.xlsx
    62.6 KB · Affichages: 16

FloASF63

XLDnaute Nouveau
Je pense que c'est un effet de bord que je ne connaissais pas concernant les tableaux structurés.
Et... je t'avoue que je n'arrive pas à modifier ça !... :( :( :(


Au temps pour moi... quand tu as dit que tu avais regardé dans la macro et que ce n'était pas là que tu allais corriger, j'ai cru que tu disais que ce n'était pas là qu'il fallait corriger, mais en fait ça voulait sûrement dire que tu ne savais pas où corriger car je crois que tu as dis débuter en VBA.

Tout ça pour dire que c'est bien dans la macro qu'il faut corriger la formule. ;)
C'est bien ça, j'ai regardé dans le code VBA, et rien ne s'apparentait aux cellules de la colonne M
 

TooFatBoy

XLDnaute Barbatruc
Pour info, c'est là qu'il faut modifier la formule :
VB:
    ' Application de la formule pour la Mise
    FeuilleEnCours.Range(FeuilleEnCours.ListObjects(1).Name & "[Mise]").Formula = "=ROUND(SUM($J$35:J36)/$M$28,0)"
il faut changer le $M$28 en $M$5 ou $M$6 (le $ devant le M n'est pas indispensable. ;))
 

FloASF63

XLDnaute Nouveau
J'ai bien compris que tu n'utilises que le modèle 1, mais je mets ici la dernière version qui comporte quand même les trois modèles mis à jour. ;)
Sur cette dernière mise à jour, je vais utiliser le modèle 2.
Dans la version précédente et cette nouvelle version, lorsque je met la date du jour , on voit toutes les opérations mêmes qui n'ont pas encore de données. Alors que le modèle 2 de cette nouvelle version le gère parfaitement.
 

TooFatBoy

XLDnaute Barbatruc
Dans la version précédente et cette nouvelle version, lorsque je met la date du jour , on voit toutes les opérations mêmes qui n'ont pas encore de données. Alors que le modèle 2 de cette nouvelle version le gère parfaitement.
Je ne comprends pas exactement ce que tu veux dire. :(

Et j'ai envie de dire il faut utiliser le modèle qui donne les bons résultats. ;)
 
Dernière édition:

FloASF63

XLDnaute Nouveau
Bonjour à tous,

Je reviens après une petite semaine de test intensif. J'ai essayé le fichier au maximum, en situation réelle , bref je l'ai mis à l'épreuve et je dois dire que tout semble parfait , c'est absolument ce qu'il me fallait :)

Je vous remercie infiniment @Softmama et @Marcel32 pour le temps que vous m'avez consacré ainsi que d'avoir solutionné mon problème. Vous êtes au top.
 

Discussions similaires

Statistiques des forums

Discussions
315 094
Messages
2 116 153
Membres
112 670
dernier inscrit
Flow87