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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
"=NETWORKDAYS(R[-1]C[-1],RC[-1],R[5]C[-1])"
"Jeff" <Jeff@discussions.microsoft.com> a écrit dans le message de news:
4FB20219-C0A6-43F5-BBD2-797DFFADC5B6@microsoft.com...
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.
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.