Déterminer si une date est un férié

Bonsoir à tous

Je suis un petit bout de macro qui me pose quelques problèmes.

Ma macro calcule d’après une liste de dates extraites, une nouvelle date,( cool non?), bref et je dois vérifier si dans un premier temps ma date de départ est un férié et également si ma date d'arrivé est un férié. (Histoire de ne pas coller un jour de repos sur un férié !)

Pour obtenir ma liste j'utilise une macro fourni par Galaopin, qui fonctionne parfaitement pour extraire les jours fériés.

J(espérai réussir à réutiliser le code pour vérifier si ma date extraite ou calculée est un férié ou non

Je vous fourni un exemple

Dim a, i As String
    Cells(2, 1).Select
  i = Range(Selection, Selection.End(xlDown)).Count

 For a = 2 To i
    Cells(a, 3).Select
If Cells(1 + a, 1) = EstJourFerie Then
    ActiveCell.FormulaR1C1 = ""
Else
    ActiveCell.FormulaR1C1 = "=RC[-2]-1"
  End If
 Next a
'

j 'ai une erreur argument non facultatif

89sam1.xlsm (17.92 Ko)

Bonjour,

Pourquoi faire aussi complexe alors qu'avec des simples fonctions excel on s'en sort très bien ? notamment SERIE.JOUR.OUVRE

Finalement j'ai trouver une solution

Dans ma feuille Paramètre j'ai définie une plage avec mes jours féries nommée Feries

Avec

If IsError(Application.Match(Cells(Z, 3), [Feries], 0)) Then ' si la date est differente alors
            Else
            ActiveCell.FormulaR1C1 = "=RC[-2]-2"
            End If

Je peux vérifier si ma cellule (Z, 3) contient une date différente aux dates définie dans ma plage feries,

Et voilà en espérant que cela aidera certain d'entre vous.

Bonsoir (re),

Si tu as une erreur "Argument non facultatif", c'est tout simplement que tu utilises la fonction sans l'argument prévu pour qu'elle renvoie le résultat, (probablement la date testée, ce qui paraît logique)...

Il me semblerait utile (pour toi) de pouvoir régler immédiatement tout seul ce type d'erreur...

Cela ne demande aucun effort, juste savoir lire...

Cordialement.

J'ai bien essayé de comprendre le code de Galopin mais mes capacités de compréhension m'ont fait chercher du coup une méthode que je maîtrise un peu.... ( que j'utilisais déjà pour mes MFC)

Mais il n'y a rien à comprendre !

On te dit qu'il manque un argument... Tu vas donc voir ta procédure Function pour savoir quel est l'argument que tu as oublié : pour ça il te faut lire la première ligne de déclaration.

Sachant que la fonction indique si un jour est férié et qu'elle doit donc renvoyer True ou False, je peux imaginer sans guère de risque de me tromper que l'argument est la date à tester...

Et que ta ligne aurait dû s'écrire :

If EstJourFerie(Cells(1 + a, 1)) Then

Je dois tout de même dire que Cells sans point devant (=expression non qualifiée) ne me plait guère ! Mais la syntaxe pour la fonction est la bonne.

NB-Si tu supprimais toutes les lignes contenant Select, ton code pourrait mieux se porter !

Oui j’évite un maximum mais quand je bloque de trop je reviens a mes premiers code.

Rechercher des sujets similaires à "determiner date ferie"