Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

nb.jours.ouvres sous VBA

1 réponse
Avatar
Jeff
Bonjour

Tous mes vœux en cette nouvelle année.
En ce début d’année je me trouve confronter à un petit problème de calcul de
jours ouvrés entre 2 dates à l’aide de la fonction "NB.JOURS.OUVRES" d’Excel.
Pour cela j’utilise un formulaire dans lequel, grâce à 2 calendriers, je
choisis la date de départ et celle d’arrivée.
Le changement de la date d’arrivée calcule alors ( procedure evenementielle
) le nombre de jours ouvrés, et j’affiche le résultat dans une zone de texte
Code utillisé : TxtNbJours = Application.Run("NB.JOURS.OUVRES",
FrmCongés.CalDébut.Day, FrmCongés.CalFin.Day).( le paramètre
"FrmCongés.CalDébut.Day" correspond à la variable récupérée dans le
calendrier de la date de départ; idem pour la date de fin )
Le problème est que le résultat n’est pas toujours cohérent.

Quelques exemples :
Date début Date fin Jours pris Cohérence
11-déc.-06 11-déc.-06 1 OK
11-déc.-06 12-déc.-06 2 OK
11-déc.-06 13-déc.-06 3 OK
11-déc.-06 14-déc.-06 3 KO
11-déc.-06 15-déc.-06 3 KO
11-déc.-06 16-déc.-06 4 KO
11-déc.-06 17-déc.-06 5 KO
8-janv.-07 8-janv.-07 0 KO
8-janv.-07 9-janv.-07 1 KO
8-janv.-07 10-janv.-07 2 KO
8-janv.-07 11-janv.-07 3 KO
8-janv.-07 12-janv.-07 4 KO
8-janv.-07 13-janv.-07 5 KO
8-janv.-07 14-janv.-07 5 KO
Si quelqu'un a une idée.............
La formule fonctionne tres bien dans une feuille d'Excel, mais pas sous VBA.
Tous les essais de modif sous VBA ( evaluate, worksheetfunction ...........)
donnent les mêmes erreurs.

Merci

1 réponse

Avatar
laplesse
"=NETWORKDAYS(R[-1]C[-1],RC[-1],R[5]C[-1])"



"Jeff" a écrit dans le message de news:

Bonjour

Tous mes voux en cette nouvelle année.
En ce début d'année je me trouve confronter à un petit problème de calcul
de
jours ouvrés entre 2 dates à l'aide de la fonction "NB.JOURS.OUVRES" d'Excel.
Pour cela j'utilise un formulaire dans lequel, grâce à 2 calendriers, je
choisis la date de départ et celle d'arrivée.
Le changement de la date d'arrivée calcule alors ( procedure
evenementielle
) le nombre de jours ouvrés, et j'affiche le résultat dans une zone de
texte
Code utillisé : TxtNbJours = Application.Run("NB.JOURS.OUVRES",
FrmCongés.CalDébut.Day, FrmCongés.CalFin.Day).( le paramètre
"FrmCongés.CalDébut.Day" correspond à la variable récupérée dans le
calendrier de la date de départ; idem pour la date de fin )
Le problème est que le résultat n'est pas toujours cohérent.

Quelques exemples :
Date début Date fin Jours pris Cohérence
11-déc.-06 11-déc.-06 1 OK
11-déc.-06 12-déc.-06 2 OK
11-déc.-06 13-déc.-06 3 OK
11-déc.-06 14-déc.-06 3 KO
11-déc.-06 15-déc.-06 3 KO
11-déc.-06 16-déc.-06 4 KO
11-déc.-06 17-déc.-06 5 KO
8-janv.-07 8-janv.-07 0 KO
8-janv.-07 9-janv.-07 1 KO
8-janv.-07 10-janv.-07 2 KO
8-janv.-07 11-janv.-07 3 KO
8-janv.-07 12-janv.-07 4 KO
8-janv.-07 13-janv.-07 5 KO
8-janv.-07 14-janv.-07 5 KO
Si quelqu'un a une idée.............
La formule fonctionne tres bien dans une feuille d'Excel, mais pas sous
VBA.
Tous les essais de modif sous VBA ( evaluate, worksheetfunction
...........)
donnent les mêmes erreurs.

Merci