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 :

Calcul couleur et chiffre


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Par défaut Calcul couleur et chiffre
    Bonjour,
    Pouvez-vous m'aider svp.
    Je souhaite calculer le nombre de couleur sur un champ + le chiffre indiqué dans le champ.
    Ex : sur une même ligne
    CP = couleur bleu
    RTT = couleur rouge
    Le 07/12 le salarié prend un CP, mais il s’agit d’une demie journée donc on indique dans la colonne 0,5 avec la couleur bleu
    Je souhaite que la formule fasse la somme des CP (couleur bleu) en prenant en compte le chiffre une journée (1) ou une demi-journée (0,5).

    En pièce jointe un copie écran de mon tableau.

    Actuellement voici le code que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Function NbColor(ByRef Plage As Range, Couleur As Byte) As Long
        Dim c As Range
        Dim nb As Long
        nb = 0
        For Each c In Plage
            If c.Interior.ColorIndex = Couleur Then
                nb = nb + 1
            End If
        Next c
        NbColor = nb
    End Function
     
    Function NbColorSameAs(ByRef Plage As Range, ByRef Cellule As Range) As Long
        NbColorSameAs = NbColor(Plage, Cellule.Interior.ColorIndex)
    End Function
     
    Function NbColorText(ByRef Plage As Range, ByRef Couleur As Byte, text As String) As Long
        Dim c As Range
        Dim nb As Long
        nb = 0
        For Each c In Plage
            If c.Interior.ColorIndex = Couleur And c.Value = text Then
                nb = nb + 1
            End If
        Next c
        NbColorText = nb
    End Function
     
    Function NbColorAndTextSameAs(ByRef Plage As Range, ByRef Cellule As Range) As Long
        NbColorAndTextSameAs = NbColorText(Plage, Cellule.Interior.ColorIndex, Cellule.Value)
    End Function
    Merci pour votre aide.
    Bonne journée.
    Images attachées Images attachées  

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

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