Macro : filtre date 6 prochains jours ouvres

Bonjour à tous,

Cela fait 1,5 jours que je suis ennuyé sur un problème qui je suis sur est simple à résoudre pour une personne aguerrie en macro Excel.

Voici le problème, j'ai besoin de filtrer dans une colonne indiquant des dates les 6 prochains jours ouvrés à partir d'aujourd'hui (aujourd'hui inclue).

J'ai essayé de bidouiller plusieurs formules présentent sur le forum, mais rien n'y fait !

J'ai besoin de trouver la formule qui sera dans cette macro afin de pouvoir l'executer lorsque nécessaire pour la colonne H.

Vous trouverez ci-dessous un fichier type ou cette macro doit fonctionner. (les autres colonnes sont vident pour des raisons de confidentialités).

Merci par avance à tous.

Victor

16help.xlsm (11.70 Ko)

Bonjour

Qui dit jours ouvrés dit liste des jours fériés que je n'ai pas vu dans ton classeur.

Faisable par Filtre avancé, automatisable par Macro

filtreavance

Bonjour,

Un exemple à adapter.

Peux-tu indiquer ta version Excel dans ton profil ?

Cdlt.

18help.xlsm (30.07 Ko)

Bonjour 78Chris,

merci pour ta réponse mais je pense que je me suis peut-être mal exprimé.

L'objectif est de filtrer les 6 prochains jours à partir d'aujourd'hui (en comptant aujourd'hui) mais via une macro exécutable.

Pour résumer, j'aimerais juste aller dans Macro et faire executer cette macro. (Je ne peux ajouter de cellule à ce fichier afin d'y mettre un calcul et après l'executer via une macro). Mon objectif était plus comme l'a réalisé Jean-Eric sur son fichier.

Bonjour Jean-Eric, merci pour ton retour !!!

Cependant, j'ai un problème lorsque j'execute ta macro sur mon fichier d'origine, il m'indique :

Erreur d'exécution '1004' : "Impossible de lire la propriété WorkDay_Intel de la classe WorkSheetFunction".

Sais tu d'où pourrais venir le problème ? J'ai essayé de bidouillé ta formule mais sans succès. Je ne connais pas grand chose au formule VBA.

A savoir que sur mon fichier d'origine, il y plusieurs colonne avec des dates, si jamais cela peut aider.

La colonne que je désire Filtrer est uniquement la colonne H.

Ma version d'Excel est : Excel for Office MSO, 32bit, mais je ne sais pas comment l'ajouter à mon profil !

Merci encore pour votre aide

Bien cordialement.

Re tous

Comme je le disais tu peux automatiser un filtre avancé...

Jean-Eric passe par le filtre auto parfois plus dépendant de la version Excel

Excel for Office MSO, 32bit n'est pas une version : le version c'est 2010 ou 2013....2019 ou 365

As-tu aussi recopié la liste des jours fériés et l'as-tu nommée ?

Re à tous,

Ah pardon ma version est 365 ^^.

J'avoue ne pas comprendre, recopier la liste des jours fériers ? Je n'ai pas réussi à automatiser cela via ton calcul :/

Concernant le problème évoquant dans mon précèdent message.

J'ai l'impression que le problème : Erreur d'exécution '1004' : "Impossible de lire la propriété WorkDay_Intel de la classe WorkSheetFunction" est peut-être du au format de date dans le fichier de Jean-Eric.

Jean-Eric utilise la catégorie personalisée : jjj jj/mm/aaaa.

Celle de mon fichier est : jj/mm/aaaa.

Est-ce possible que le problème puisse venir de la ?

Je n'ai pas le format qu'utilise Jean-Eric, si c'est bien ce problème, est-ce possible pour vous de modifier avec le même format de date que j'ai mis dans mon fichier ? Car malgré mes essaies de modification de formule, j'ai toujours la même erreur.

Merci par avance,

Bien cordialement.

RE

Excel se fiche du format des dates, tant que ce sont bien des dates.

Si tu reprends le fichier de Jean Eric : tu as une liste de jours fériés, qui fait l'objet d'un nommage : il t'a mis une copie d'écran.

Le code s'y réfère donc si tu ne l'a pas, la formule du code ne peut fonctionner

RE

Tu peut automatiser le filtre avancé ainsi

Option Explicit

Dim ws As Worksheet
Sub Filtre_Avance()
    Set ws = Worksheets("Feuil1")
    With ws
        If .FilterMode = True Then .ShowAllData
        .Cells(1, 13) = "DateV"
        .Cells(2, 13).FormulaR1C1 = "=AND(RC8>=TODAY(),RC8<=WORKDAY(TODAY(),6))"
        .Columns("H:H").AdvancedFilter Action:= _
            xlFilterInPlace, CriteriaRange:=.Range("M1:M2"), Unique:=False
        .Range("M1:M2").ClearContents
    End With
End Sub

mais comme déjà suggéré, il vaudrait mieux également tenir compte des jours fériés...

Merci pour tes messages !

Je continue d'essayer avec les 2 versions, je reviens vers vous dès que j'ai réussi !

Merci encore

Malgré toute ma bonne volonté, je n'ai pas réussi à faire fonctionner mon fichier avec les 2 solutions.

Même en ajoutant la feuille 2 avec les jours fériés, il y a toujours des problèmes :/.

Les jours ouvrés et jours fériés étaient déjà misent en place dans le filtre initiale, donc je pense qu'il était pas important de l'ajouter dans la formule VBA.

Et avec le calcul dans le cellule, lorsqu'elle fonctionne, elle enlève les filtres précèdant présent dans mon fichier.

Merci quand même pour votre aide,

bien cordialement.

Bonjour

On ne peut avoir simultanément plusieurs filtres sur une même plage...

En plus tu as posté un bout hors contexte donc non représentatif et donc rarement adaptable au réel...

Bonjour Vico62,

Je te propose ce fichier…

Rechercher des sujets similaires à "macro filtre date prochains jours ouvres"