Calculs en tenant compte des couleurs de fond

Résolu
Laeti3112 -  
Laeti3112 Messages postés 14 Statut Membre -
Bonjour,

Je souhaiterais effectuer le calcul suivant :
Additionner le montant des cellules avec un fond de couleur (jaune par exemple), avec le montant des cellules d'un autre fond de couleur (rouge par exemple) que si ces cellules à fond rouge contiennent un mot précis (mot étant sur la même ligne mais pas dans la même cellule).

Je dispose de la fonction pour additionner le contenu des cellules de fond de même couleur :

Function SommeSiCouleur(Plage As Range, NumeroDeCouleur%) As Currency
Application.Volatile True
Dim wCell As Range
For Each wCell In Plage
If wCell.Interior.ColorIndex = NumeroDeCouleur Then
SommeSiCouleur = SommeSiCouleur + wCell.Value
End If
Next
End Function

'Formule à insérer dans cellule
'=SommeSiCouleur($C$1:$C$34;3)

et Je dispose de la fonction pour calculer le nombre de cellules selon une couleur de fond avec un mot :

Function CptTxtEntraide(champ As Range)
Application.Volatile
Dim C, temp
For Each C In champ
If C.Value = "DIVERS" And C.Interior.Color = RGB(255, 0, 0) Then

temp = temp + 1
End If
Next C
CptTxtEntraide = temp
End Function

'Formule à insérer dans cellule
=CptTxtDivers(C7:C319)

Je suppose qu'il faille arriver à faire un mix des 2 pour ce que je veux faire....
Merci pour votre aide!

Cordialement

7 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Salut Le Pingou et merci pour le bébé
    Le sujet n'est plus d'actualité, mais pour ne pas laisser la chose en rade

    1. La fonction adaptée au fichier
    Public Function SomSiCoulText(plage As Range, c As Long, t As String) As Single
    Dim li As Long, cel As Range, s As Single
    s = 0
    Application.Volatile
    For li = 1 To plage.Rows.Count
      If plage.Cells(li, 1).Interior.ColorIndex = c And plage.Cells(li, 1).Value = t Then s = s + plage.Cells(li, 2).Value
    Next li
    SomSiCoulText = s
    End Function

    2. L'appel depuis la feuille
    =somsicoultext($A$2:$B$14;43;"LA POSTE")+somsicoultext($A$2:$B$14;3;"LA POSTE")

    Bonne journée à tous
    1
    1. Laeti3112 Messages postés 14 Statut Membre
       
      Merci CCM81
      J'ai essayé ta nouvelle formule par curiosité, et elle ne marche pas. Elle me retourne un résultat =70 800 euros dans ma cellule total au lieu des 125 500 euros escomptés...
      0
      1. Laeti3112 Messages postés 14 Statut Membre > Laeti3112 Messages postés 14 Statut Membre
         
        Mea culpa, j'avais des cellules corrompues... Ta formule marche... Merci CCM81!!!
        Cependant si j'ajoute des colonnes entre la colonne client et la colonne des totaux ta formule ne marche plus....
        0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Oui mais si tu changes le cahier des charges, il va falloir faire un avenant au contrat !
    https://www.cjoint.com/?3EAnKqDQgQK
    L'appel depuis la feuille
    =SommeCouleurTexte(H2:H14;H5;J2:J14)+sommeCouleurTexte(H2:H14;H14;J2:J14)


    Cdlmnt
    1
    1. Laeti3112 Messages postés 14 Statut Membre
       
      Merci ccm81, la formule fonctionne!!!
      Bon après midi ;)
      0
    2. Laeti3112 Messages postés 14 Statut Membre
       
      CCM81, j'aurai encore une question à te poser pour calculer le montant des devis la poste vert que s'ils ont un n° de commande en case G. cf fichier ci joint
      https://www.cjoint.com/c/EEApcwVUkTY
      0
    3. Laeti3112 Messages postés 14 Statut Membre
       
      Trouver moi même, je pense pas... Je suis débutante de chez débutante... Avec un esprit logique qui confine le néant... Mais heureusement pour moi j'ai d'autres qualités ;)
      Et pour répondre à ta question sur fichier xl, oui j'ai besoin des couleurs.
      En tout cas merci 1 000 fois pour ton aide et ta collaboration! Tu es d'une efficacité redoutable. Ma seule incompréhension, pourquoi es tu encore en version 2003 alors que nous sommes en 2015? Si c'est pour des problèmes de budget, je dis pas...Mais sinon.
      Cette discussion est définitivement close! Merci Merci Merci!!!
      Vive ccm81!!!
      0
  3. Laeti3112 Messages postés 14 Statut Membre
     


    Voici quelques explications... Merci pour votre aide;)
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Question. tu veux additionner les sommes "la poste - verts" et les "la poste - rouges"
    Si c'est ça, modifies cette ligne
      If cel.Interior.ColorIndex = c And Application.WorksheetFunction.CountIf(Rows(li), t) > 0 Then s = s + cel.Value

    puis dans ta feuille, tu fais un
    sommesicoultext(plage,vert,"la poste")+sommesicoultext(plage,rouge,"la poste")

    Si ce n'est pas ça, peux tu mettre ton bout de fichier au format excel 2003 et surtout mettre le résultat attendu sur ton exemple

    Cdlmnt
    0
    1. Laeti3112 Messages postés 14 Statut Membre
       
      Oui je veux additionner les sommes "la poste - verts" et les "la poste - rouges"
      J'ai essayé ta solution, mais ça ne marche pas...
      Je récapitule, j'ai écrit dans macro la fonction suivante :
      Function SommeSiCouleurText(Plage As Range, NumeroDeCouleur%) As Currency
      Application.Volatile True
      Dim wCell As Range
      For Each wCell In Plage
      If Cel.Interior.ColorIndex = C And Application.WorksheetFunction.CountIf(Rows(li), t) > 0 Then s = s + Cel.Value

      End If
      Next
      End Function

      et dans ma cellule
      =SommeSiCouleurText(I7:I319,43,"LA POSTE")+SommeSiCouleurText(I7:I319,3,"LA POSTE")
      0
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Peux tu envoyer un bout de ton vrai fichier au format excel 2003 via cjoint.com
    0
  7. Laeti3112
     
    Bonjour,

    Je ne dispose pas d'excel 2003 MAIS 2010.

    Voici le lien pour mon fichier
    http://cjoint.com/?0ExlrzFvbcI

    Cordialement
    0
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Tu fais enregistrer sous/Type et tu choisis exel 2003 .xls
      0
    2. Laeti3112
       
      Bon je viens de verifier le lien cijoint.com et mon fichier excel ne s'affiche pas correctement...
      Je sais pas quoi faire... Snif
      0
    3. Laeti3112
       
      Ah si c'est bon... désolée ;)
      0
    4. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Et ???
      Au passage, tu devrais t'inscrire sur ce site, c'est gratuit et ça permet de transformer les adresse de site en liens hypertexte (plus besoin de transporter l'adresse dans la fenêtre des adresses)
      0
    5. Laeti3112
       
      Je suis déjà inscrite mais je zappe parfois de m'identifier...
      0