Sub somme_couleur()
On Error GoTo fin
Dim NbreLignes As Integer
Dim NombreColonnes As Integer
Dim FinTableau As range
Dim PlageCouleur As range
Dim TotalM As range
Dim TotalI As range
Dim TotalO As range
Dim ColonneVide As Integer
ColonneVide = range("A10").End(xlToRight).Column
PlageCouleur = range("C11").Offset(NbreLignes, NombreColonnes)
FinTableau = range("IV11").End(xlToLeft).Column
'=dernière vide en partant de IV11 et en allant vers la gauche
Total_bleu = range("fintableau").Offset(nbreligne, -3)
Total_rose = range("fintableau").Offset(0, -2)
Total_vertclair = range("fintableau").Offset(0, -1)
Application.ScreenUpdating = False
For NbreLignes = 0 To 51
For NombreColonne = 0 To ColonneVide
'total cases colorees
Total_bleu = 0
Total_vertclair = 0
Total_rose = 0
For Each VALEUR In range(PlageCouleur)
If VALEUR.Interior.ColorIndex = 38 Then
Total_rose = Total_rose + VALEUR.Value
End If
If VALEUR.Interior.ColorIndex = 35 Then
Total_vertclair = Total_vertclair + VALEUR.Value
End If
If VALEUR.Interior.ColorIndex = 37 Then
Total_bleu = Total_bleu + VALEUR.Value
End If
Next VALEUR
'affichage des valeurs enregistrées dans les bonnes cases de récapitulatifs
'les sommes :
If Total_rose Then Cells(FinTableau).Offset(nbreligne, -2) = Total_rose
If Total_bleu Then Cells(FinTableau).Offset(nbreligne, -3) = Total_bleu
If Total_vertclair Then Cells(FinTableau).Offset(nbreligne, -1) = Total_vertclair
Next ligne
fin:
Application.ScreenUpdating = True
End Sub