Bonjour , je me permet de relancer mon post si toutefois une personne souhaite s'y pencher , pour eviter d'avoir à me soucier du format des cellules recevant les heures j'ai eu l'idée de convertir chaque cellule en nombre decimal et d'en faire le total à la fin dans la cellule moyenne au format nombre en ecrivant la modif suivantes :
Dim cell As Range
For Each cell In Range("c7:c18")
If cell.Interior.ColorIndex = 3 Then
Range("c21").Value = (CDbl(Range("c21").Value - Int(Range("c21").Value)) * 24) + (CDbl(cell.Value - Int(cell.Value)) * 24)
Range("c23").Value = Range("c23").Value + 1 '<---- nombre des cellules reperées en rouge
End If
Next
'calcul de la moyenne des durées :
Range("c25") = Range("c21") / Range("c23")
(voir mon fichier deja joint)
pensant avoir une issue , je me retrouve avec un cumul en nombre decimal faux pour la moyenne alors que j'ai testé toute mes cellules à sommer avec les'instructions :
MsgBox CDbl(Range("c21") - Int(Range("c21"))) * 24 'donne 0 lorsqu'elle est vide
MsgBox CDbl(Range("c9") - Int(Range("c9"))) * 24 'donne 3,64
MsgBox CDbl(Range("c13") - Int(Range("c13"))) * 24 'donne 8,48
MsgBox CDbl(Range("c16") - Int(Range("c16"))) * 24 ' donne 12,13
la case moyenne recois un total de 33,67 alors que 3,64 + 8,48 + 12,13 = 24,27
Si toutefois vous pouviez juste m'expliquer cette difference , ce serait vraiment sympa , vous remerciant infiniment par avance