Calcul de cellules sur Excel

Alphe56 Messages postés 4 Statut Membre -  
m@rina Messages postés 27633 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai un soucis sur Excel. J'aimerais savoir si il existe un moyen de compter le nombre de cellules d'une certaine couleur présente sur une ligne

(exemple si par hasard je me suis mal exprimé: dans une ligne, j'ai 4 cellules de couleur rouge et 2 cellules de couleur verte. J'aimerais avoir la possibilité qu'en bout de ligne, Excel m'indique: il y'a 4 cellules rouges et 2 cellules vertes)

Merci à tous ceux qui m'apporteront une aide et aussi à tous les autres.

Alphe
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. m@rina Messages postés 27633 Date d'inscription   Statut Modérateur Dernière intervention   11 564
     
    Bonjour,

    La solution qui passe forcément par une macro est ici :
    http://excelabo.net/excel/formatsdiv.php#additionrouge

    m@rina
    0
    1. Alphe56 Messages postés 4 Statut Membre
       
      Je te remercie de ton aide. Pardonne moi de passer pr un ignorant mais je ne vois pas l'endroit dans la macro, ou il faut mettre la plage ou la macro doit compter les cellule. Peux-tu m'aider, s'il te plait.

      Merci d'avance
      0
  2. m@rina Messages postés 27633 Date d'inscription   Statut Modérateur Dernière intervention   11 564
     
    Re...

    Dans la macro, on utilise "ActiveSheet.UsedRange" pour spécifier toutes les cellules utilisées de la feuille active.

    Mais bien entendu, tu peux changer en mettant ta propre plage :
    ActiveSheet.Range("A1:A10")

    Cette macro est un exemple qui affiche un message sur le nombre de cellules rouges. On pourrait faire une fonction :

    Function nbcouleur(maplage As Range, Couleur As String)

    Select Case Couleur

    Case "rouge"
    Couleur = 3
    Case "vert"
    Couleur = 50
    'on peut ajouter d'autres couleurs

    End Select

    For Each cell In maplage
    If cell.Interior.ColorIndex = Couleur Then nombre = nombre + 1

    Next
    nbcouleur = nombre
    End Function

    Tu copies-colles cette fonction dans un module et ensuite, tu pourras utiliser une formule dans ta feuille de calcul pour compter le nombre de cellules rouges ou vertes (tu peux ajouter d'autres couleurs dans la fonction) :
    =nbcouleur(A1:A10;"rouge")
    =nbcouleur(A1:A10;"vert")

    Mettre à jour les calcul avec F9 en cas de changement de couleurs.

    m@rina
    0
  3. Alphe56 Messages postés 4 Statut Membre
     
    Franchement, merci beaucoup. Ca m'aide enormement.
    0
  4. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    Il existe une méthode très simple, et qui ne fait pas appel aux macros, qui consiste à obtenir les couleurs (3 couleurs maximum plus la couleur par défaut jusqu'à la version 2003 de Word) en tapant R, B ou V dans les cellules et en employant la mise en forme conditionnelle pour qu'elles se colorent en rouge, bleu et vert. Il suffit ensuite d'utiliser la fonction NB.SI pour compter le nombre de cellules contenant chacune de ces lettres ...
    0
    1. Alphe56 Messages postés 4 Statut Membre
       
      J'ai une question:
      Dans la macro suivante, il affiche un message avec le nombre de cellule de la couleur indiquée

      Sub inventaireRouge()
      sommeRouge = 0
      compterRouge = 0
      For Each cell In ActiveSheet.Range("A4:EX4")
      If cell.Interior.Color = vbRed Then
      On Error Resume Next
      sommeRouge = sommeRouge + cell.Value
      On Error GoTo 0
      compterRouge = compterRouge + 1
      End If
      Next
      If compterRouge = 1 Then c = "cellule" Else c = "cellules"
      MsgBox compterRouge & " " & c & " -- Total = " & sommeRouge

      End Sub


      Je souhaiterais savoir sil y'avait la possibilité de supprimer la boite de message et d'indiquer dans une cellule d'une feuille différente, la somme trouvée.

      merci beaucoup
      0
      1. m@rina Messages postés 27633 Date d'inscription   Statut Modérateur Dernière intervention   11 564 > Alphe56 Messages postés 4 Statut Membre
         
        Bonjour,

        Oui bien sûr, on utilise souvent le message dans les exemples pour afficher le résultat dont on ne sait que faire !! :D))

        Remplace la ligne :
        MsgBox compterRouge & " " & c & " -- Total = " & sommeRouge

        Par :
        Worksheets("ma feuille").Range("ma cellule").Value = compterRouge

        m@rina
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Tu peux également utiliser ce code pour afficher le compteur dans une cellule

    Sub Compte_Cellule_Couleur()
    pc = 1 'colonne A première colonne du tableau
    dc = 154 'colonne D dernière colonne du tableau
    pl = 4 'ligne 4 première ligne du tableau
    dl = 4 'ligne 4 dernière ligne du tableau, ce qui correspond de la cellule A4 à la cellule EX4
    Range("G20") = 0 'cellule compteur
    dest = "G20" ' cellule où doit s'inscrire le nombre de cellules de couleur
    ccoul = 3 ' code de la couleur Ou faire référence à une cellule contenant le code couleur 'ccoul = Range("F2")
    ncel = 0 'affichage 0 si aucune couleur trouvée
    For c = pc To dc
    For l = pl To dl
    If Cells(l, c).Interior.ColorIndex = ccoul Then ncel = ncel + 1
    Next l, c
    Range(dest) = ncel
    End Sub
    0