Bonjour,
Voici un nouveau "Casse-tête". Je m'explique :
Contexte : J'ai un tableau dont chaque colonne est une date et qui est augmenté chaque jour d'une colonne avec la date du jour, sous certaines conditions. Une cellule de chaque colonne précise si ce jour est férié ou ouvrable. La liste des jours fériés est rassemblée dans une petite "base de données", plage d'une dizaine de cellules sur une ligne. Cette base est positionnée à droite de mon tableau et se décale donc d'une colonne chaque jour, et ressemble à cela (Jours fériés de la Bourse pour 20024) :
BDD : Samedi - Dimanche - 01/01/24 - 29/03/24 - 01/04/24 - 01/05/24 - 15/08/24 - 25/12/24 - 26/12/24
Contrainte : Avant de créer, via une macro, la colonne du prochain jour, je dois savoir à l'avance si ce prochain jour sera férié ou ouvrable, car cela conditionne la façon de créer la nouvelle colonne (impact sur les formules), et de l'afficher.
Recherches : Bien que j'ai pu résoudre le problème en Excel, j'ai tenté en VBA, par différents procédés de détecter la nature du jour suivant en allant chercher dans la base BDD la date du lendemain (J+1) qui me renverrait "Férié" si cette date est trouvée et "Ouvrable" si cette date n'est pas trouvée dans la base. J'ai notamment essayé avec "CountIf", sans succès car je me heurte à chaque fois à un défaut de syntaxe et la macro se met en défaut, en renvoyant notamment une incompatibilité de type ou une erreur de syntaxe. Je précise que la fonction RECHERCHEH (et son équivalent VBA HLookup) n'est pas appropriée car je n'ai pas de valeur à renvoyer mais seulement VRAI (Férié) si la date est trouvée dans la base ou FAUX (Ouvrable) dans le cas contraire.
Piece jointe : L'application dans laquelle j'ai besoin de cela est un fichier comprenant 10 onglets, dont l'un d'eux compte 5000 lignes et 150 colonnes, donc impossible à joindre à ce post. J'ai donc construit un petit exemple commenté qui, je pense, illustre assez bien le problème. Avec une de mes tentatives échouées. Je joins donc ce fichier représentatif, avec le bout de macro qui ne marche pas.
Question : Quelqu'un peut-il m'aider à résoudre ce problème ? D'avance, je vous remercie du temps que vous y passerez. Moi, je n'y parviens pas après de nombreuses et longues soirées, car je suis trop novice en VBA.
PS : En matière de VBA, il y a les marins d'eau douce (dont je suis) et les Kersauson (océan de compétences). Je m'adresse donc ici à tous les Kersauson du Forum.