formule un peu complexe

rgstma

XLDnaute Nouveau
bonjour,
j'ai un tableau de 10 lignes et 30 colonnes. Dans chaque cellule il peut y avoir soit :T, TD, M ou C. le calcule de chaque lettre est facile à réaliser. Maintenant, et c'est là que ça ce corse, il peut y avoir des chiffres en rouge et en noir. Est il possible de faire la somme de chaque chiffre en rouge et la somme de chaque chiffre en noir. j'ai essayé diverses formules, et j'essaye toujours, mais là je commence à sécher.
merci d'avance de votre aide.
rgstma
 

Jauster

XLDnaute Occasionnel
Bonjour,

Avec une macro :

Code:
Function Somme_Couleur(Plage As Range, Cellule As Range) As Double
Dim Couleur As Integer
Dim Cel As Range

  Couleur = Cellule.Font.ColorIndex
  For Each Cel In Plage
    If Cel.Font.ColorIndex = Couleur Then
      Somme_Couleur = Somme_Couleur + Cel.Value
    End If
  Next Cel
End Function

Puis il suffit de rentrer dans la cellule ou tu souhaites avoir le résultat =Somme_Couleur(Plage;Cellule de ref)
Le cellule de ref doit cependant avoir le texte de la couleur dont tu souhaites additionner les chiffres.
 

Pièces jointes

  • sommecouleur.xlsm
    16.8 KB · Affichages: 37

rgstma

XLDnaute Nouveau
Bonjour,

Avec une macro :

Code:
Function Somme_Couleur(Plage As Range, Cellule As Range) As Double
Dim Couleur As Integer
Dim Cel As Range

  Couleur = Cellule.Font.ColorIndex
  For Each Cel In Plage
    If Cel.Font.ColorIndex = Couleur Then
      Somme_Couleur = Somme_Couleur + Cel.Value
    End If
  Next Cel
End Function

Puis il suffit de rentrer dans la cellule ou tu souhaites avoir le résultat =Somme_Couleur(Plage;Cellule de ref)
Le cellule de ref doit cependant avoir le texte de la couleur dont tu souhaites additionner les chiffres.

Bonjour,
c'est ce que je cherchais pour mes colonnes "heures nuit" et "heures sup", mais si je met une lettre ça ne fonctionne plus, il faut que je rajoute un "somme si" je pense.
 

Pièces jointes

  • essai.xlsx
    14.4 KB · Affichages: 26

Jauster

XLDnaute Occasionnel
Bonjour,
c'est ce que je cherchais pour mes colonnes "heures nuit" et "heures sup", mais si je met une lettre ça ne fonctionne plus, il faut que je rajoute un "somme si" je pense.

Hello, il faut rajouter une condition pour determiner si la valeur est un nombre à savoir And IsNumeric(Cel)
Code:
Function Somme_Couleur(Plage As Range, Cellule As Range) As Double
Dim Couleur As Integer
Dim Cel As Range

  Couleur = Cellule.Font.ColorIndex
  For Each Cel In Plage
    If Cel.Font.ColorIndex = Couleur And IsNumeric(Cel) Then
      Somme_Couleur = Somme_Couleur + Cel.Value
    End If
  Next Cel
End Function
 

Discussions similaires

Réponses
2
Affichages
608

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof