Bonjour,
J'ai régulièrement un fichier de 1000 à 1500 lignes sur 30 colonnes que je traite par macro pour ensuite intégrer les données dans un fichier global. Dans ce dernier il me reste des colonnes additionnelles avec des formules et quitte à traiter par macro j'ai trouvé pertinent de tout faire dans celle-ci.
Je coince cependant avec un calcul sur des dates pour lequel je tiens compte de jours non travaillés (fériés et ponts).
En formule je m'en sors très bien avec nb.jours.ouvrés.intl mais je n'arrive pas à faire fonctionner cela en vba. Je retranche 1 car sinon pour la même date Excel me compte 1 jour alors que pour moi du lundi 24 avril au lundi 24 avril, par exemple, ça fait zéro jour.
Vous trouverez ci-dessous mon code qui fonctionne mais uniquement avec les jours ouvrés, j'ai donc mis en commentaires la partie que je souhaiterais que vous m'aidiez à dépatouiller.
Ci-joint également mon fichier d'essai.
Je remercie par avance celles et ceux qui sauraont m'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub test() Dim JoursFeries() Dim Donnees() Set donneesxls = Range("a1").CurrentRegion Donnees = donneesxls.Value LigneFin = Sheets("Jours non travaillés").UsedRange.Rows.Count Set JoursFeriesxls = Sheets("Jours non travaillés").Range("A2:A" & LigneFin) JoursFeries = JoursFeriesxls.Value For i = 2 To UBound(Donnees) Donnees(i, 4) = Application.WorksheetFunction.NetworkDays(Donnees(i, 1), Donnees(i, 2)) - 1 Next 'For i = 2 To UBound(Donnees) ' Donnees(i, 4) = Application.WorksheetFunction.NetworkDays_Intl(Donnees(i, 1), Donnees(i, 2), 1, JoursFeries) - 1 'Next End Sub
Cordialement
Partager