IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Comptabiliser des cellules de même format [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 90
    Points : 46
    Points
    46
    Par défaut Comptabiliser des cellules de même format
    Bonjour à tous
    Je cherche à comptabiliser le nombre de cellule ayant la même couleur de fond dans une certaine plage de données.
    Pourriez-vous m'aider, je galère.
    Merci d'avance

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    En VBA une fonction permet de faire cette somme. Vous écrivez ces quelques lignes de codes dans l'éditeur VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function SommeCelCouleur(Plage, Couleur)
    Dim Cel As Object
        For Each Cel In Plage
            If Cel.Interior.ColorIndex = Couleur Then
                SommeCelCouleur = SommeCelCouleur + Cel
            End If
        Next Cel
    End Function
    Vous utilisez cette fonction comme une fonction intégrée d'excel en tapant dans une cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SommeCelCouleur(D2:D20;3)
    et vous aurez la somme des nombres contenu dans la plage D2 à D20 et dont la couleur de cellule est rouge (Rouge = 3)

    Oupss! à la relecture je m'aperçois que vous voulez simplement compter le nombre de cellule il faudar adapter un compteur dans ce que je vous ai envoyé
    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SommeCelCouleur = SommeCelCouleur + Cel
    vous mettez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SommeCelCouleur = SommeCelCouleur + 1
    Re,
    Voilà la fonction pour compter les cellules de couleur Rouge.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function CpteCelCouleur(Plage, Couleur)
    Dim Cel As Object
        For Each Cel In Plage
            If Cel.Interior.ColorIndex = Couleur Then
                CpteCelCouleur = CpteCelCouleur + 1
            End If
        Next Cel
    End Function

  3. #3
    Candidat au Club
    Homme Profil pro
    Projeteur mécanique
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour rjamin,
    j'ai utilisé tes 2 fonctions pour, justement, compter des celules colorier en rouge. Mais sa ne fonctionne pas... (pour le test j'ai pris la couleur rouge sur la ligne 14, dans mon cas elle est bleu, voir en dessous)

    J'ai joint mon fichier.
    Je veux compter les jours que je prend en "Congé" (en bleu) et en "RTT" (en bleu ciel). Les celulles qui seront en couleur sont les jours de la semaine.
    Cela pose t'il un probleme (texte+couleur) ?

    Si tu a des question n'hésite pas.

    Merci.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Vous n'avez pas écrit la fonction dans un module d'où le Nom? qui apparaît au lieu du résultat. Donc vous devez copier collez la fonction dans un module.
    Une remarque cependant car le résultat sera 2 pour un jour Mardi par exemple, car mardi est dans deux cellules (fusion) rouge. Donc il faudra /2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CpteCelCouleur(B14:K14;3)/2
    Moyennant cette adaptation ça fonctionne.

    Une autre remarque, remettre une question dans une discussion de 2011 marquée Résolue pourrait ne jamais avoir de réponse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comptabiliser des cellules en couleur
    Par vincent007 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 23/12/2010, 16h50
  2. [XL-2003] Colorié de la même couleur des cellules de même contenue!
    Par Djromé dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 21/01/2010, 12h05
  3. Aligner des cellules de même nature
    Par patrick60 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/01/2010, 09h16
  4. Réponses: 2
    Dernier message: 02/08/2007, 12h30
  5. Formater des cellules excel en format nombre
    Par _developpeur_ dans le forum Access
    Réponses: 7
    Dernier message: 09/01/2006, 14h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo