Somme en fonction de la couleur du texte de la cellule

Résolu
buggs84870 Messages postés 41 Statut Membre -  
buggs84870 Messages postés 41 Statut Membre -
Bonjour,

je voudrai avoir un petit coup de main pour fabriquer le vba pour faire une action bien précise.

J'ai 2 colonnes dont l'une d'elle contenant des nombres et l'autre avec des chaines de caractères.

Je voudrai additionné la colonne avec les nombres en fonction de la couleur de la colonne contenant la chaine de caractère correspondant à la même ligne.

C'est assez dur à expliquer. Rien ne vaut un petit exemple pour que tout soit clair avec des """balises"""" pour illustrer la couleur de la chaîne dans excel

100 <red>Ce texte est rouge</red>
250 <black>Ce texte n'est pas rouge </black>
300 <red>Ce texte est rouge</red>
450 <black>Ce texte n'est pas rouge </black>
200 <red>Ce texte est rouge</red>
300 <black>Ce texte n'est pas rouge</black>

Résultat attendu 600

S'il y a des soucis de compréhension même avec l'exemple n'hésitez pas :)

Merci par avance de l'aide que vous allez m'apporter !

5 réponses

  1. buggs84870 Messages postés 41 Statut Membre 10
     
    Bonjour g,

    malheureusement le lien que tu as donné correspond plus ou moins à ce qui existe déjà.

    Quelqu'un sur ce même forum a proposé un vba permettant d'additionné une plage en fonction de sa couleur.
    Lien : https://forums.commentcamarche.net/forum/affich-4185981-excel-somme-cellules-uniques-texte-en-couleur

    Par ailleurs c'est pas exactement ce que je veux. Car le vba fait la chose suivante:

    <red>100</red>
    <black>250 </black>
    <red>300</red>
    <black>450</black>
    <black>200</black>
    <black>300</black>

    Resultat: 400

    Description du vba du lien: compare toute la couleur de la plage de nombre en fonction d'une cellule ayant comme couleur d'écriture le rouge.

    Cela marche correctement mais uniquement sur une seule plage. Ce que je voudrai justement c'est que la plage des nombres n'est pas une couleur différente mais que c'est la colonne juste à côté (composée de chaîne de caractère) qui décide OU NON d'additionnée, en fonction de sa couleur, le nombre associé sur la même ligne
    0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Peux tu envoyer la partie concernée de ton fichier, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu

    Cdlmnt
    0
    1. buggs84870 Messages postés 41 Statut Membre 10
       
      voilà le lien cjoint: https://www.cjoint.com/c/EJEsFXaMLpH

      Macro de la fonction cumul_couleur:

      Public Function cumul_couleur(plage As Range, col As Range)
      Dim elm As Object
      Application.Volatile
      cumul_couleur = 0
      For Each elm In plage
      If elm.Font.ColorIndex = col.Font.ColorIndex Then
      cumul_couleur = cumul_couleur + elm.Value
      End If
      Next elm
      End Function


      PS: La couleur rouge des entreprises se fait grâce à une mise en forme conditionnelle du type "texte qui contient.."

      Merci encore !
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    as tu vraiment besoin d'une macro
    La formule de la MFC peut aussi s'appliquer à un SOMME.SI
    http://www.cjoint.com/c/EJFlgS4uKOI

    Cdlmnt
    0
    1. buggs84870 Messages postés 41 Statut Membre 10
       
      Héhé la fonction SOMME.SI marche bien car tu test en fonction du contenue de la cellule. Sur ton lien tu cherches d'additionner si la cellule = "moyenne"

      La est toute la difficulté, car ce que je voudrai c'est pas en fonction du contenue écrit dans la cellule mais bel et bien la couleur de la police dans la cellule :).

      Mon excel était peut être pas assez clair.

      J'en ai refait un si tu es encore prêt à m'aider:

      https://www.cjoint.com/c/EJFnVGOkZgH

      Cordialement et merci encore de ton 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
     
    En voici deux pour le prix d'une
    http://www.cjoint.com/c/EJFogDE87mI

    Attention
    . La couleur ne doit pas provenir d'une MFC

    Cdlmnt
    0
    1. buggs84870 Messages postés 41 Statut Membre 10
       
      Bah écoute, c'est exactement ce que je voulais !

      Merci beaucoup de ton aide !

      Je mets le sujet resolu

      Cordialement,
      0