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 :

compter des cellules avec une couleur de fond et une couleur de police [XL-2000]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    profession libérale
    Inscrit en
    Octobre 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : profession libérale
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 49
    Points : 43
    Points
    43
    Par défaut compter des cellules avec une couleur de fond et une couleur de police
    Bonjour,


    je cherche à créer une fonction pour compter des cellules de couleurs contenant un texte dune certaine couleur dans un planning, c'est à dire que je veut par exemple compter toutes les cellules rouge, mais uniquement celles écrites en bleu (et ce, quelles ques soient les autres caractéristiques de police) ; en claire, une celle rouge écrite en bleu et gras est comptée, de même qu'une cellule rouge écrite en bleu et italique, mais pas une cellule rouge écrites en jaune ni une cellule verte.
    NB : de plus, la couleur de cellule et la couleur de police doivent être désignées par le choix d'une cellule (ou de deux) lors de l'utilisation de la fonction.
    On trouve facilement plusieurs macro vba pour compter les couleurs (une ou plusieurs d'ailleurs) mais pas qui en plus tiennent compte d'un caractère de police (et un seul). Je n'arrive pas à en bidouiller un par moi-même;
    Merci d'avance pour celui qui a

  2. #2
    Membre chevronné Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Points : 2 056
    Points
    2 056
    Par défaut
    Bonjour

    à adapter dans les codes que tu as trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        If Cell.Interior.ColorIndex = 3 And Cell.Font.ColorIndex = 5 Then
    Tu dis

  3. #3
    Membre du Club
    Homme Profil pro
    profession libérale
    Inscrit en
    Octobre 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : profession libérale
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 49
    Points : 43
    Points
    43
    Par défaut
    Merci (en fait , j'avais essayé mais je m'était arreté à la 1ère utilisation de la fonction car le résultat intermédiaire dans la barre de saisie me donnait le résultat "couleur de fond" sans donner le résultat final (couleur de fond et couleur de police) et me donnait l'impression de ne pas avoir le bon résultat).
    Merci encore.

  4. #4
    Membre chevronné Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Points : 2 056
    Points
    2 056
    Par défaut
    Bonjour

    Merci (en fait , j'avais essayé mais je m'était arreté à la 1ère utilisation de la fonction car le résultat intermédiaire dans la barre de saisie me donnait le résultat "couleur de fond" sans donner le résultat final (couleur de fond et couleur de police) et me donnait l'impression de ne pas avoir le bon résultat).
    Merci encore.
    Et ?
    As-tu obtenu le résultat escompter ?

  5. #5
    Membre du Club
    Homme Profil pro
    profession libérale
    Inscrit en
    Octobre 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : profession libérale
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 49
    Points : 43
    Points
    43
    Par défaut
    Oui :
    voila la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function ColorCountIntFont(SearchArea As Object, BgColor As Range) As Integer
    Application.Volatile True
    ColorCountIntFont = 0
    MaCoul = BgColor.Interior.ColorIndex
    MaPol = BgColor.Font.ColorIndex
        For Each Cell In SearchArea
    If Cell.Interior.ColorIndex = MaCoul And Cell.Font.ColorIndex = MaPol Then ColorCountIntFont = ColorCountIntFont + 1
    Next Cell
    End Function
    Ex : on fait un tableau avec des cellules colorées contenant 3 cellules rouges dont 1 est écrite en vert : si on utilise la fct en sélectionnant le tableau et la cellule rouge écrite en vert, on obtient bien la réponse 1 (mais lors de la saisie, le résultat donné en bas du cadre de saise indiquera 3 (donc a priori le réultat partiel "nb de cell rouges)
    NB : on pt facilement intégrer d'autres caractères de champs comme gras, surligné... = le but est de compter dans un planning les jours de présence ou d'absence mais surtout de pouvoir ventiler le résultat en fonction du motif (congé, maladie,pont...) ou ajouter d'autres contraintes comme les garde de nuit (par exemple : couleur verte = présence mais en plus, si c'est écrit en bleu, =de garde la nuit......... d'où la possibilité de faire un planning plus lisible.
    Mon problème suivant est de simplifier le remplissage du planning : j'ai déjà installé une macro faisant apparaitre automatiquement une barre d'outils de saisie (chaque bouton correspond à une cellule d'une liste dont on peut facilement modifier les propriétés de couleur, de police...et autres si besoin : la seule contrainte est de retoucher la macro si on veut modifier le nb de cellules de la liste).
    Les problèmes suivants sont :
    - créer une macro pour colorer une ligne (entière ou si possible une plage de cellules) en fonction de la valeur d'une cellule de cette ligne (=permet de surligner les dimanches, les jours fériés...)
    - créer une macro pour faire un remplissage rapide du planning (dans la colonne de gauche du calendrier, on a 365 lignes correspondant aux dates ; les colonnes suivantes correspondes aux personnes; les colonnes précédentes contiennet des valeurs indiquant le N° du jour dans la semaine, le N° de semaine, si on est un JF... : qd on sait que quelqu'un est présent tous les lundis, mardis, mercredis, vendredis et samedis, mais absent les jeudis, ça doit être possible de faire une macro pour remplir les cellules de façon quasi instantanée et ne laissant donc qu'à gérer les congés
    -créer une macro pour saisir rapidement les congés (le problème n'est pas de de colorer les cellules de la personne en congé car c'est facile avec la barre de saisie, mais bel et bien de modifier le planning de ceux qui ne sont pas en vacances (en clair, quand on saisit une semaine de congés pour M. Absent, Mme Présente doit travailler le mercredi alors que d'habitude c'est un jour de repos)
    ...
    Bref, c'est un peu long ; d'ailleurs ce n'est pas le sujet : je poserai les questions sur le forum si je n'y trouve pas de solution (j'aime bien me creuser un peu la tête avant).

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

Discussions similaires

  1. [OpenOffice][Tableur] Compter des cellules avec une couleur
    Par cleroy61 dans le forum OpenOffice & LibreOffice
    Réponses: 11
    Dernier message: 29/06/2015, 23h40
  2. Réponses: 6
    Dernier message: 26/08/2013, 11h56
  3. Parametrer la couleur de fonds d'une page en fonction d'une autre
    Par miklbet dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 09/06/2011, 11h21
  4. [XL-2007] Compter des cellules, avec une condition
    Par OccitaL dans le forum Excel
    Réponses: 6
    Dernier message: 17/06/2010, 15h15
  5. Réponses: 4
    Dernier message: 17/03/2008, 11h03

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