Compter les cellules de meme couleur et texte

Bonjour

J'ai un tableau avec plusieurs lignes.

Au bout de chacune d'elles , je souhaiterais comptabiliser les cellules de couleur grise contenant uniquement la lettre A.

J'ai excel 2007, et je bloque un peu.

J'ai du faire une ou des erreurs.(Erreur due à un nom non valide)

Si quelqu'un connait la bonne formule

Merci

N

Bonjour,

voici le code d'une fonction qui compte le nombre de cellules en fonction d'une cellule de référence

Function CompteCouleurFond2(champ As Range, couleurFond As Range)
 Application.Volatile
 Dim C, temp
 temp = 0
 cf = couleurFond.Interior.Color
 For Each C In champ
 If C.Interior.Color = cf Then
 temp = temp + 1
 End If
 Next C
 CompteCouleurFond2 = temp
 End Function

et celui qui compte du texte

Function CptTxt(champ As Range)

Dim C, temp

For Each C In champ

    If C.Value = "texte"  Then

    temp = temp + 1

End If
Next C

CptTxt = temp

End Function

Bonne recheches

J'ai rapidement modifié une de mes fonction pour compter texte et couleur

Function CptTxt(champ As Range)
Application.Volatile
Dim C, temp

For Each C In champ

    If C.Value = "A" And C.Interior.Color = RGB(191, 191, 191) Then

    temp = temp + 1

End If
Next C

CptTxt = temp

End Function

si on change des valeurs, il faut rafraîchir avec F9

avec le "A" entre guillemet et le code RGB du gris, ou a remplacer avec le code RGB de la couleur souhaitée que l'on trouve en sélectionnant "autre couleur" dans l'outils de mise en forme de la couleur de fond

bon week end

Bonjour,

je vous ai modifié votre fichier. J'ai rajouter une fonction qui s'appelle CptTxt() qui s'utilise comme toute autre fonction. on met la fonction dans la barre de formule =CptTXt(A1:A23) et cela compte les cellules avec "A" et en gris.

Pour voir le détail, allez sous l'onglet "developeur" puis cliquez sur "visua basic" et ensuite sur "module 1" et vous voyez le détail de la formule. vous pourrez y modifier le texte a vérifier ("A") ainsi que le code couleur RGB(191,191,191).

Bonne journée

Bonjour

Merci pour votre aide , j'ai essayé et ça a l air de fonctionner.

Un petit soucis avec l activation des macros seulement !

Je souhaiterais également que lorsque un A est repéré dans une cellule grise que le nombre soit 1,5 au lieu de 1.

Est ce possible de modifier ça dans le VBA ?

Merci

Cordialement

No

tu peux écrire la formule "=CptTxt(B4:AF4)*1.5"...

Merci pour la réponse.....

Une autre question

Puis je obtenir le nombre de A avec le gris ( Ref 190 sur le S par exemple) dans une cellule et le nombre de A avec gris ( Ref 191 sur le D par exemple) , dans une autre cellule ,mais avec une meme formule ?

Merci

Cdlt

Bonjour

J' essaie de trouver la méthode afin de pouvoir compter les cellules gris 190 et gris 191....mais je n'y arrive pas.

Une autre énigme pour moi :

Si je veux comptabiliser les A et par exepmle des B qui pourraient se trouver dans la cellule ( l'un ou l'autre ), dois je rajouter : "A" or " B" dans le VBA ?

Merci

Bonne journée

Cdlt

Bonjour,

j'ai modifié le fichier pour compter les "B".

note que toue les condition "IF" "AND" et "OR" doivent se trouver sur la même ligne, suivi d'un "THEN".

si on fait des retour a la ligne, le code ne fonctionne plus. Pour plus de clarté, on peut utiliser " _" (undersore) pour donner l'apparence d'un retour a la ligne en gardant la continuité du code.

pour trouver la syntaxe par exemple d'une mise en forme, le plus simple est de démarrer l'enregistrement d'une macro ( onglet développeur) d'effectuer les opération souhaitée, de stopper l'enregistrement et ensuite d'aller copier le code dans le module concerné

Bonnes recherches

Bonjour

Merci pour la dernière réponse au sujet de la comptablisation des A or B.

Par contre je souhaitais aussi savoir s'il étatit possible de pouvoir compter le nombre cellules avec le lettre A ou B sur fond gris et dans le meme temps des cellules toujours avec la lettre A ou B mais avec un autre fond de couleur.

Pas réussit a trouver, comment écrire cette fonction !

En tous les cas merci pour tout et bonne journéee

No

Rebonjour

dans le module ou il y a la fonction CptTxt, sélectionnez toute la fonction et recopier en dessous de "end sub". renomme la CptTxtcouleur2 ou un autre nom pour la différencier de la première.

tu peux alors changer les critères de texte ainsi que la couleur de référence qui est le code rgb. pour trouver le code rgb de la couleur que tu veux. sélectionne une cellule, dansl l'onglet accueil , couleur de remplissage, autre couleur, personnaliser, cela donne le code rgb de la couleur choisie. tu remplace le (191, 191, 191) de la fonction avec le nouveau code et voilà...

Bonne journée

Re Bonjour

J'ai fait un copier de la fonction mais "end sub" n'existe pas, il y a seulement "end Fonction."

Je pense que je dois coller ma fonction à cet endroit ?

Et concernant la formule dans le tableau , je mets : CptTextCouleur2 ?

Désolé pour toute ces questions....

Merci

Cdlt

No

pas de souci..

mea culpa, "sub" et "end sub" sont pour des macros classiques alors que "function" et " end function" sont pour des fonction que l'on peux appeler dans la barre des formules,

après, le nom CptCouleurtruc est vraiment libre, il devrait contenir des indices sur ce que la fonction fait pour que lorsqu'on l'appelle dans la barre de formule on sache un peu de quoi cela parle et pas juste "fonction123" qui fonctionnerait aussi.

Bonjour

J'ai donc fait un copier puis coller la fonction en dessous de la première.

J ai change le nom en ajoutant FunctionCptTextCouleur2, puis le code du gris en 190.

Mais quand je mets la formule dans la barre de formule à savoir CptTextCouleur2, j obtiens " erreur de complilation" Argument non facultatif et FunctionCptTxtCouleur 2 se met en jaune.

J 'ai du faire une erreur mais je ne vois pas où ?

Si vous avez une idée.

Merci

Bonne journée

Cdlt

No

le nom de la formule se répète juste avant la fin de la fonction. il faut changer là aussi...

mettez un fichier joint, j'y jetterai un œil...

bonne journée

Bonjour

J'ai suivi les conseils et ça fonctionne à présent. Super, et surtout merci.

Pour terminer mon tableau je souhaiterais ajouter un argument.

Si le total des A ou B comptabilisés au fil du mois, est supérieur à 6, je voudrais que chaque A ou B qui seront comtabilisés par la suite soit le chiffre 2 au lieu de 1.

Merci pour cette nouvelle aide

Bonne journée

Cdlt

No

Bonjour

Je cherche les arguments à intégrer à la fonction pour que chaque A donne 2 au lieu de 1, mais seulement à partir du sixième détecté.

Voir fichier .

Merci de l'aide

Cordialement

No

Rechercher des sujets similaires à "compter meme couleur texte"