N
nfo
Guest
Bonjour,
Je cherche à l'heure actuelle à calculer le nombre de jours ouvrés entre deux dates, en prenant en compte 2 calendriers de jours fériés (celui du pays de mon client et celui du pays du marché sur lequel il souhaite commercer).
Le choix de ces 2 calendriers étant dynamique (dépendant du marché et du client), je construis la formule en VBA.
Dans la fonction NETWORKDAYS, le paramètre Holiday doit être soit un tableau, soit une liste de valeurs. Dans mon cas, avec 1 calendrier ça marche. Lorsque je veux utiliser 2 calendriers, je suis du coup obligé (enfin je pense) de convertir ces 2 calendriers en une liste de valeurs. Et là, je dois passer par Formulaarray.
J'ai parcouru divers forums qui ont apporté des réponses (taille de la formule, utilisation de la notation R1C1, ...) mais je rencontre encore cette fameuse erreur 1004 "Unable to set the Formulaarray property"
A noter qu'en entrant manuellement la formule (sans la notation R1C1) ça fonctionne.
Voici le code que j'utilise actuellement (c'est la partie en rouge qui pose problème, le reste est la gestion des heures d'ouverture du marché)
l_formula = "=(NETWORKDAYS(trunc(R7C23);trunc(R7C24);LARGE((Markets!R2C2:R241C2;Markets!R4C5:R4C6);ROW(INDIRECT(""1:""&ROWS(Markets!R2C2:R241C2)+ROWS(Markets!R4C5:R4C6)))))-1)*(Markets!R3C5-Markets!R2C5)+(R7C24-trunc(R7C24)-MAX(R7C23-trunc(R7C23);Markets!R2C5))"
sheetConso.Cells(currentRowConso, 27).FormulaArray = l_formula
Help, je désespère. Je viens à penser à aggréger mes calendriers :'(
Si vous voyez une autre solution ou une autre formule pour calculer ce nombre de jours ouvrés sur 2 calendriers, je suis aussi preneur 🙂
Un grand merci d'avance !
Je cherche à l'heure actuelle à calculer le nombre de jours ouvrés entre deux dates, en prenant en compte 2 calendriers de jours fériés (celui du pays de mon client et celui du pays du marché sur lequel il souhaite commercer).
Le choix de ces 2 calendriers étant dynamique (dépendant du marché et du client), je construis la formule en VBA.
Dans la fonction NETWORKDAYS, le paramètre Holiday doit être soit un tableau, soit une liste de valeurs. Dans mon cas, avec 1 calendrier ça marche. Lorsque je veux utiliser 2 calendriers, je suis du coup obligé (enfin je pense) de convertir ces 2 calendriers en une liste de valeurs. Et là, je dois passer par Formulaarray.
J'ai parcouru divers forums qui ont apporté des réponses (taille de la formule, utilisation de la notation R1C1, ...) mais je rencontre encore cette fameuse erreur 1004 "Unable to set the Formulaarray property"
A noter qu'en entrant manuellement la formule (sans la notation R1C1) ça fonctionne.
Voici le code que j'utilise actuellement (c'est la partie en rouge qui pose problème, le reste est la gestion des heures d'ouverture du marché)
l_formula = "=(NETWORKDAYS(trunc(R7C23);trunc(R7C24);LARGE((Markets!R2C2:R241C2;Markets!R4C5:R4C6);ROW(INDIRECT(""1:""&ROWS(Markets!R2C2:R241C2)+ROWS(Markets!R4C5:R4C6)))))-1)*(Markets!R3C5-Markets!R2C5)+(R7C24-trunc(R7C24)-MAX(R7C23-trunc(R7C23);Markets!R2C5))"
sheetConso.Cells(currentRowConso, 27).FormulaArray = l_formula
Help, je désespère. Je viens à penser à aggréger mes calendriers :'(
Si vous voyez une autre solution ou une autre formule pour calculer ce nombre de jours ouvrés sur 2 calendriers, je suis aussi preneur 🙂
Un grand merci d'avance !