Moyenne d une date

Bonjour,

Bonjour,
Je suis entrain de travailler sur un code pour calculer la moyenne de jours entre deux dates Integration Date "Range Q" et Request Date "Range G" selon les mois

Code :

Sub IsointegrationRequest()
Dim i As Integer
Dim y As Integer
Dim m As Integer
Dim sumDate1 As Integer
Dim nbDate1 As Integer
Dim sumDate2 As Integer
Dim nbDate2 As Integer
Dim sumDate3 As Integer
Dim nbDate3 As Integer
 
 
nbDate1 = 0
nbDate2 = 0
nbDate3 = 0
sumDate1 = 0
sumDtae2 = 0
sumDate3 = 0
For i = 2 To lastlign
y = Year(Worksheets("All").Range("Q" & i))
m = Month(Worksheets("All").Range("Q" & i))
If (IsDate(Worksheets("All").Range("Q")) And IsDate(Worksheets("All").Range("G"))) Then
If ((Format(Range("Q" & i).Value, "yyyy") = y + 1) And m = "01") Or ((Format(Range("Q" & i).Value, "yyyy") = y) And (m = "10" Or m = "11" Or m = "12")) Then
sumDate1 = sumDate1 + (Worksheets("All").Range("Q" & i).Value - Worksheets("All").Range("G" & i).Value)
nbDate1 = nbDate1 + 1
'Worksheets("ISO Indicators").Range("C2") = sumDate / nbDate
ElseIf ((Format(Range("Q" & i).Value, "yyyy") = y) And (m = "02" Or m = "03" Or m = "04" Or m = "05")) Then
sumDate2 = sumDate2 + (Worksheets("All").Range("Q" & i).Value - Worksheets("All").Range("G" & i).Value)
nbDate2 = nbDate2 + 1
'Worksheets("ISO Indicators").Range("D2") = sumDate / nbDate
ElseIf ((Format(Range("Q" & i).Value, "yyyy") = y) And (m = "06" Or m = "07" Or m = "08" Or m = "09")) Then
sumDate3 = sumDate3 + (Worksheets("All").Range("Q" & i).Value - Worksheets("All").Range("G" & i).Value)
nbDate3 = nbDate3 + 1
'Worksheets("ISO Indicators").Range("E2") = sumDate / nbDate
End If
Else
sumDate1 = sumDate1 + 0
sumDate2 = sumDate2 + 0
sumDate3 = sumDate3 + 0
End If
Next
If (nbDate1 > 0) Then
 Worksheets("ISO Indicators").Range("B2").NumberFormat = "General"
 Worksheets("Ratios").Range("B2").Value = sumDate1
 Worksheets("Ratios").Range("B2").NumberFormat = "@"
End If
If (nbDate2 > 0) Then
Worksheets("ISO Indicators").Range("C2").NumberFormat = "General"
 Worksheets("ISO Indicators").Range("C2").Value = sumDate2
 Worksheets("ISO Indicators").Range("C2").NumberFormat = "@"
 
End If
If (nbDate3 > 0) Then
 
Worksheets("ISO Indicators").Range("D2").NumberFormat = "General"
 Worksheets("ISO Indicators").Range("D2").Value = sumDate2
 Worksheets("ISO Indicators").Range("D2").NumberFormat = "@"
 
 
End If
 
End Sub

Ce code ne me donne aucune erreur mais ne marche pas J AI RIEN qui apparait sur mon tableau de la feuille iso indicators et ca me soule

Si vous pouvez m aider je vous serai reconnaissante treees tres reconnaissante Merci en ts cas


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

  1. Salut

    For i = 2 To lastlign  


    Essaye en donnant une valeur à lastlign ;)
    --
    1. ca marche pas nn plus
      1. Dans ce cas, vas y pas à pas (raccourci F8 quand tu es dans ta macro) pour comprendre pourquoi ça ne marche pas.
        S'il n'écrit rien, ça doit être que tes nbDate sont toujours à 0..