filtrer des dates selon une différence de mois

Étiquetté : , ,

  • filtrer des dates selon une différence de mois

    Posté par Tom Victor sur 10 juillet 2023 à 8h37

    Bonjour,

    J’utilise 2 table dans mon application, une qui me permet d’enregistrer des données (Text, Date, etc) et une autre qui ne prend qu’un nombre.

    J’ai besoin de pouvoir filtrer de trois façon différentes les données de la Table 1 a l’aide du nombre de la Table 2. La première façon est de filtrer les données qui sont en dessous du nombre choisis en Table 2, la seconde façon est de filtrer les données qui sont au dessus du nombre choisis en Table 2 et la troisième façon consiste simplement à tout afficher. Tout doit être filtrer par rapport au mois

    J’utilise une combobox pour choisir entre les trois filtre sauf que je n’arrive pas a faire ma formule pour que cela fonctionne.

    En espérant avoir été clair,

    Merci,

    Tom Victor

    PostID=6KMuFU0CuDqzNPA

    Tom Victor a répondu Il y a 11 mois, 4 semaines 1 Membre · 8 Réponses
  • 8 Réponses
  • DavidZed

    Membre
    10 juillet 2023 à 12h20

    Bonjour Tom Victor ,

    En partant du principe que tu as :

    ComboBoxChoixFiltre : [“Choix1″,”Choix2″,”Choix3”]

    GalleryTable2: Sequence(12)

    Tu dois pouvoir mettre un switch dans ton filtre pour la GalleryTable1 :

    Filter(Table1;nSwitch(ComboBoxChoixFiltre.Selected.Value;n"Choix1";DateTable1 < Date(Year(Now()),GalleryTable2.Selected.Value,1);n"Choix2";DateTable1 > Date(-Year(Now()),GalleryTable2.Selected.Value+1,0); // jour : 0 et mois +1 pour avoir la veille du 1er du mois suivant donc le dernier jour du mois choisin"Choix3";1=1;1=1; // si choix3 ou vide, on ne filtre pasn)n)

    CommentID=Exg0G81o2uyx07c, PostID=6KMuFU0CuDqzNPA

  • Tom Victor

    Membre
    10 juillet 2023 à 12h51

    Bonjour DavidZed ,

    Merci de ta réponse, j’ai tout de même un soucis, lorsque je met mon deuxième choix, il m’indique une erreur comme celle-ci:

    Comment puis-je régler ce soucis ?

    J’ai remarquer aussi qu’il ne filtre pas le premier choix.

    Merci de ton aide,

    Tom Victor

    CommentID=34tEdlr4OzlOtRS, PostID=6KMuFU0CuDqzNPA

    • DavidZed

      Membre
      10 juillet 2023 à 14h28

      Cette erreur vient d’une formule Date() pour laquelle tu donnes une année erronée, tu dois respecter le format : Date(Année, Mois, Jour), exemple : Date(2023, 7, 10)

      SubCommentID=B5EWiPa6TwDR25f, CommentID=34tEdlr4OzlOtRS, PostID=6KMuFU0CuDqzNPA

    • Tom Victor

      Membre
      10 juillet 2023 à 14h38

      Logiquement si je mets un Now() ou un Today() c’est censé fonctionner non ?

      Dans ce cas la formule devrait être juste non ?

      Filter('CRM -  Opportunité';nSwitch(ComboBox2.Selected.Value;n"Forecast";'Date prévisionelle' < Date(Year(Now());TextInputCanvas1_3.Value;1);n"Pipe";'Date prévisionelle' > Date(-Year(Now());TextInputCanvas1_3.Value+1;0);n"Tout";1=1;1=1n))

      SubCommentID=YyO60Xnh0XonyCY, CommentID=34tEdlr4OzlOtRS, PostID=6KMuFU0CuDqzNPA

  • DavidZed

    Membre
    11 juillet 2023 à 6h46

    Le soucis est là :

    Tu envoies un entier négatif pour l’année à cause du signe “-” devant Year()

    CommentID=aPCWBNzv8TiRKfC, PostID=6KMuFU0CuDqzNPA

  • Tom Victor

    Membre
    11 juillet 2023 à 7h34

    Ah oui en effet merci, surement une faute de frappe de ma part.

    Par contre j’ai l’impression que je ne filtre pas forcément comme il faudrait le premier choix. Dans la théorie je dois pouvoir trier (dans le cas présent) toutes les dates qui sont en dessous de trois mois depuis la date du jour.

    Est-ce qu’en rajoutant un DateDiff() cela fonctionnera ou faut-il que j’ajuste complètement la formule ?

    CommentID=Ty3lA18wxAkO8uB, PostID=6KMuFU0CuDqzNPA

  • DavidZed

    Membre
    11 juillet 2023 à 7h41

    Dans ce cas, il suffit d’ajouter un -3 dans ton Date() au paramètre Month, ici :

    Pour le coup, Date refuse des années négatives, mais il les accepte pour les mois et les jours, sachant que :

    Date(2023,1-1,01) donnera 01/12/2022 (01/01/2023 moins un mois)

    CommentID=wvzNykM58DCWYBM, PostID=6KMuFU0CuDqzNPA

  • Tom Victor

    Membre
    11 juillet 2023 à 7h50

    Ça marche parfaitement, merci de ton aide !

    CommentID=3ccIuZKh0k1S9aa, PostID=6KMuFU0CuDqzNPA

Connectez-vous pour répondre.