Faire la somme de cellules coloriées dans TCD

Résolu
Fab -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

Suite à un sujet posté par jmichmuch j'ai eu une réponce de la part de Mike-31 sur comment compter les cellules colorier. Mais ce que je veux faire maintenant et voulais faire au départ c'est de faire la somme des chiffres contenus dans ces cellules coloriées.
Pour être un peu plus clair, j'ai un TCD et je remplis de deux couleurs (bleu et jaune) des sommes afin de les différencier et j'aimerais pouvoir par l'intermédiaire d'un bouton faire la sommes de la couleur jaune en A2 et de la couleur Bleu en A3

merci de votre aide par avance
Configuration: Windows XP
Internet Explorer 6.0

9 réponses

  1. Mik
     
    Bonjour Fab,

    Bah c'est une très bonne question :) moi aussi je cherches à faire quelque chose de simillaire alors je vais surveiller ce sujet :)

    A+
    0
    1. Mik
       
      re,

      Sans garantie aucune:

      Sub SommeCouleurJaune()
      For Each cel In Selection
      If cel.Interior.ColorIndex.= reference then Somreference= Somreference + cel ' réference par rapport au code de Mike-31
      next cel
      Range("A2") = Somreference
      end sub

      je ne l'ai pas testé donc tiens moi au courant.

      A+
      0
  2. Fab
     
    Merci de ta réponce mais le code est similaire :) je cherche non pas à compter le nombre de cellules en bleu ou jaune mais à faire la somme des chiffres à l'intérieur de ces cellules ^^

    mais merci de ta réponce
    0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Vous pouvez télécharger l'add-in MoreFunc d'excel ici et l'installer.
    ensuite mettre dans la cellule A2
    =SOMMEPROD((XLM.LIRE.CELLULE(63;C7:E11)=6)*(C7:E11))
    C7:E11 à changer par la bonne plage de cellules et 6 c'est pour le jaune
    Faire un copier coller (dans la ligne d'édition, pas de la cellule et copier dans A3
    Juste changer le 6 par le N° du bleu (ça dépend quel bleu.)
    pour connaître le N° de la couleur employée mettre provisoirement en A5 par exemple...
    =XLM.LIRE.CELLULE(63;C9)
    C9 à changer par une cellule qui est en bleu.
    Tu dit
    A+
    0
    1. Fab
       
      Bonjour Lermitte222,

      Merci de la réponce mais je voudrais juste savoir quelque chose le fait d'add un petit complement fais marcher la formule sur mon excel mais si je refile le prog à une personne ne disposant pas de se plugging est ce que la fonction marche toujours???
      Si c'est le cas je vais m'y interresser. Autrement j'ai trouvé ce code et vais voir s'il marche:
      Option Explicit
      Function som_couleur(plage As Range, couleur As Integer) As Double
      Dim r As Range, nb As Double
      Application.Volatile
      nb = 0 (chiffre ou lettre ???)
      For Each r In plage
      If r.Interior.ColorIndex = couleur Then nb = nb + r.Value
      Next
      som_couleur = nb
      End Function

      Function cellcouleur(c As Range)
      cellcouleur = c.Interior.ColorIndex
      End Function

      A+
      0
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Sans MoreFunc ça marche pas bien sûr.
    Ta fonction VBA va aller.
    pas besoin de >> nb = 0
    A+
    0
    1. Fab
       
      Super ça fonctionne vraiment bien le seul problème et ça j'ai farfouillié et y'a pas trop de réponce, c'est au niveau de la mise à jour elle ne fonctionne pas on n'est obligé à chaque fois de retapper la formule.
      Je vais essayé de créer un bouton de manière à ce que quand on clique il remet la formule. Bien évidement si vous avez une idée je suis preneurs :)

      merci encore pour l'info ça m'a beaucoup aidé, je ne mets pas résolu à ce sujet car il manque le recalcul
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Voir si tu n'a pas mis la fonction Recalcul dans option sur "sur commande" auquel cas tu tape F9 et la formule serra mise à jour.
    Ou mettre recalcul en auto.
    A+
    EDIT:
    Le fait de changer la couleur n'oblige pas excel à recalculer, tu doit taper F9
    Par contre si le contenu d'une cellule est modifiée, le recalcul se fait tout seul.
    0
    1. Fab
       
      re Lermitte222,

      Merci beaucoup ça fonctionne du tonner, j'ai juste utilisé la touche F9 et mis sur ma feuille appuyer sur F9 pour mettre à jour ^^ beaucoup plus simple qu'un bouton d'action.

      merci encore
      0
  7. cris16 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour,

    Cet article est un petit peu ancien mais j'espere que quelqu'un répondra a ce message. Je dois également faire la somme des cases qui sont d'une couleur identique maisi n'ayant aucune bace en VBA je galère un peu.

    Si quelqu'un pouvait m'aider en me detaillant étape par étape ce que je dois faire avant d'écrire le code donné par Fab.

    Merci beaucoup de votre aide!!!
    0
  8. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Quelque explications !!
    quand tu est dans Excel, aller dans l'éditeur VBA (Alt+F11 au cas où)
    Dans l'éditeur.. Insertion >> Module
    Dans la fenêtre qui vient de s'ouvrir tu colle le code donner par Fab..
    Option Explicit 
    Public Function som_couleur(plage As Range, couleur As Integer) As Double
    Dim r As Range, nb As Double
        Application.Volatile
        nb = 0 '(chiffre ou lettre ???)
        For Each r In plage
            If r.Interior.ColorIndex = couleur Then nb = nb + r.Value
        Next
        som_couleur = nb
    End Function

    Tu ferme l'éditeur VBA, retour dans Excel
    Tu sélectionne la cellule où tu veux mettre le résultat.
    Tu tape la formule... =som_couleur("A10:B15",LeNumero de la couleur)
    j'ai mis A10:B15 pour l'exemple, à toi d'adapter, tu peu aussi faire comme pour une autre formule en sélectionnant une plage.
    le numéro de la couleur dépend de celle que tu veux sélectionner (de 1 à 52)
    A+
    0
  9. cris16 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci lermite222 pour ta réponse rapide.

    J'ai maintenant une question qui viens assez rapidement :
    - où puis-je trouver le code des couleurs (quel numéro correspond à quelle couleur)

    Merci beaucoup de ton aide

    A+
    0
  10. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    dans l'éditeur VBA tu tape F1 pour avoir l'aide.
    tu met PatternColorIndex, propriété dans la recherche et tu auras ta réponse.
    A+
    0