Bonjour le forum,
J'ai un tableau qui contient 4 dates, date, date du choix de solution, date de planification et enfin date de clôture. Le problème que j'ai c'est que j'ai appliqué la fonction WorksheetFunction.NetworkDays qui me renvoie le résultat sous la forme d'une date, par exemple la durée écoulée entre date:02/04/2019 et date du choix de solution 04/04/2019 c'est 03/01/1900. Merci d'avance pour votre aide.
Voici mon code ainsi que le fichier sur lequel je travaille:
Sub Date_Diff()
'Optimisation de vitesse
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'D?claration des variables
'Variable de comptage utilis?e dans la boucle "*"
Dim j As Integer
'Variable de d?signation des cellules utilis?e dans la boucle "*"
Dim Cel As Range
'Variable pour d?clarer la feuille sur laquelle on va travailler "Suivi demande d'outillages"
Dim sheet As Worksheet
'Affectation de la valeur ? la variable sheet
Set sheet = Worksheets("Suivi demande d'outillages")
'Activation de la feuille "Datas - Charge"
sheet.Activate
'Calcule du nombre de "Demandeur" dans la feuille du calcul
nD = Application.WorksheetFunction.CountA(Columns(2)) - 1
'Boucle "*"
'Param?trage de la boucle "*" en fonction du nombre de "Demandeur"
j = 0
While j <= nD - 1
'Les conditions ? tenir en compte pour faire comparer des cellules de la colonne "Date" vers les cellules de la colonne "Date du choix solution"
'Comparaison
If sheet.Cells(2 + j, 4).Value >= sheet.Cells(2 + j, 11).Value Or sheet.Cells(2 + j, 11).Value = "" Then
Else
dblNetworkDays = WorksheetFunction.NetworkDays(sheet.Cells(2 + j, 4).Value, sheet.Cells(2 + j, 11).Value)
sheet.Cells(2 + j, 12).Value = dblNetworkDays
End If
j = j + 1
Wend
'Message de fin
MsgBox "Done"
'Reset Settings:
'R?initialiser les param?tre de macro optimazer
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub