Bonjour,



comme à chaque fois en VBA avec les dates je galère... et je ne trouve pas la solution à mon problème pourtant simple :/

J'ai besoin de calculer une date de fin avec la fonction SERIE.JOUR.OUVRE en VBA.

Je patauge et je teste toutes les combinaisons possibles mais impossible d'obtenir le résultat souhaité...


Voici mon code :

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
 
        Dim Debut As Date
        Dim DureeTheo As Double
        Dim FinTheoString As String
        Dim FinTheoDate As Date
        Dim k As Integer
        For k = 2 To Range("A1").CurrentRegion.End(xlDown).Row
            Debut = Range("E" & k).Value
            DureeTheo = Range("G" & k).Value / 5
            FinTheoString = "SERIE.JOUR.OUVRE(" & CDate(Debut) & ";" & DureeTheo & ")-1"
            FinTheoDate = Evaluate(FinTheoString)
            Range("N" & k).Value = DureeTheo
            Range("O" & k).Value = FinTheoDate
 
        Next k

J'ai un tableau contenant les dates de début en colonne "E"
Une durée théorique que j'obtiens en divisant la valeur de la colonne "G" par 5

A partir de là j'essaye de trouver la date de fin en tenant compte des jours ouvrés avec SERI.JOUR.OUVRE.

Quand c'est fait j'écrit la durée théorique et la date de fin dans d'autres cellules.




Le code ci-dessus est la dernière version à laquelle je suis arrivé mais j'ai tenté beaucoup d'autres choses différentes.

Ici le code plante à la ligne EVALUATE à cause d'une incompatibilité de type...



Pouvez-vous m'aider, je suis complètement paumé et je ne comprend rien aux dates en VBA sous Excel.


Merci d'avance pour votre aide !