Fonction et couleurs

Bonjour,

J'ai une petite question, j'ai fais un fichier excel pour mon boulot avec mes jours de travail, congé,... et chaque cellule a une couleur particulière. J'ai aussi 1 calendrier ou je met les couleurs.

Ce que je chercher a faire et que lorsque je met un couleur sur un jour du calendrier, qu'il rajoute 1 a chaque fois et que bien sûr, ça calcul si il y en plusieurs qu'ils sont de la même couleur.

Vous trouverez la fichier en pièce jointe.

Merci a tous

Bonsoir Loic !

Alors Excel ne peux point détecter de lui même si une cellule possède une couleur ou non !

Pour cela, il faut passer par une petite Function :

Function Coul_Cel(Cell As Range) As Long
Application.Volatile
Coul_Cel = Cell.Interior.ColorIndex
End Function

Tu met sa dans un module standard (Sur Excel utilise Alt + F11 puis clique droit dans la barre à gauche et "insérer un module"), puis tu retourne sur Excel et tu viens de créer une nouvelle formule !

Tu te met sur n'importe qu'elle cellule, et tu tape =Coul_Cel(A1) et tu verra que cette formule te retourne une valeur (qui est égale à l'Index de couleur pour la VBA)

Tu peux donc t'en servir pour savoir quelles cellules ont les mêmes couleurs ou non ;D

Restant à dispo !

Bonjour,

J'ai essayer et j'ai bien réussi a mettre la function dans un module mais lorsque je tape ce que tu me donnes j'obtiens 2 je ne sais pas pourquoi.

Et lorsque je modifie A1 par AI5 qui est de couleur noir j'obtiens 56, et je suppose que ça devrait etre le nombre de cellule dans le même couleur ? hors je n'ai pas 56 cellule de cette couleur mais 47 cellule de cette couleur sur la page 1 et si compte avec la page 2 j'en ai 53.

Ou alors je ne comprend vraiment pas et je vais me contenter de calculer de tête.

Merci beaucoup pour ton aide en tout cas

Re- !

lorsque je tape ce que tu me donnes j'obtiens 2

Et lorsque je modifie A1 par AI5 qui est de couleur noir j'obtiens 56

Comme je te disais, cette Function va te retourner la valeur ColorIndex de la cellule que tu a référencée et nous pas de ta Feuil ou d'une plage !

Donc si Coul_Cel(A2) est égal à 2 c'est que cette cellule est blanche

Si Coul_Cel(AI5) est égal à 56 c'est que cette cellule est noir

Regarde ci-dessous la table des ColorIndex :

capture

Maintenant, la question c'est comment t'en servir de cette Function puisque tu ne peux faire référence qu'à une seule cellule avec :

Imaginons que dans toute la ligne 1 de ma feuille j'ai mis des couleurs et je veux savoir combien j'ai mis de jaune.

Alors je vais mettre dans ma ligne 2 ma Function Coul_Cel pour me renvoyer la valeur du ColorIndex de la cellule du dessus ! Par exemple je vais mettre en A2 la formule CoulCel(A1) // Je vais mettre en B2 la formule CoulCel(B1) etc..

Une fois ma ligne 2 remplies des CoulCel, pour savoir combien j'ai de cellule en jaune dans ma ligne 1 je vais me référer à la ligne 2 avec la formule : NB.SI(2:2;"2")

Comme ci-dessous :

capture2

Voilà, en espérant avoir été plus clair sur l'utilisation de cette Function ^^

Sinon je reste à dispo !

Bonjour,

J'ai réussi a faire mais du coup, je dois créer une autre feuille avec les données et ainsi je peux le faire et préparer pour la suite ?

par exemple : pour le mois de décembre je peux intégrer plusieurs index couleur a NB.SI pour que si c'est cette couleur c'est noir = +1 dans la colonne J mais sinon c'est 0 dans les autres colonnes ?

Je sais pas si je m'exprime bien mais j'aimerai juste rendre le fichier automatique pour pas me casse la tête en faite.

Merci

Je rejoint mon fichier modifier pour voir si tout est bon.

Encore merci

Bonjour,

une façon plus simple de faire est de mettre une lettre code (C comme congé par exemple) dans tes cellules.

La couleur se met avec une MFC.

Le décompte avec un Nb.Si()

eric

Bonjour,

pourrais-tu m’expliquer plus precisement avec NB.SI et MFC parce que je debute sur excel.

Merci beaucoup

Bonjour,

j'ai ouvert ton fichier. Comme tu ne peux pas avoir et le jour, et le type dans une même cellule il faut doubler les lignes.

Pour les MFC j'ai fait les 3 premières sur les premiers mois, à toi de compléter.

Pour mettre les MFC sélectionne les lignes entières 6, 8, 10‚12 et 14 (plus tes autres années quand tu auras redessiné le calendrier)

Je t'ai mis les NB.SI() en AX.

eric

Bonjour,

Merci, avec les MFC ça fonctionne nickel. Maintenant j'essaie sur la même feuille avec la NB.SI et ça fonctionne mais lorsque j'essaie de mettre NB.SI sur la 2ème feuille ça ne veux pas faire.

Sur la 1er feuille, ça me donne ça

=NB.SI($B$4:$AF$16;AI4)

Alors que sur la 2ème feuille, ça me donne ça

=NB.SI('Carte chomage'!$B$4:$AF$16;$AI$4)

et la ça fonctionne pas.

Il y a-t-il une possibilité de faire avec 2 feuilles de calculs ou dois-je faire une feuille par année ?

En tout cas un grand merci pour votre aide.

Bonjour,

bien sûr que tu peux mettre la formule sur une autre feuille.

Sans fichier difficile de savoir où tu as fait une erreur.

eric

Bonjour Eric,

justement j'ai essayer de le mettre sur la 2ème feuille et je n'ai pas réussi le résultat obtenu est 0 alors que je devrai avoir 9 voir plus pour les autres mois.

je te mets en pièce jointe les captures de ce que j'ai fait, et je ne vois pas mon erreur.

Merci

capture capture1 capture2

Tu envoies des photos de ta voiture au garagiste quand tu veux la faire réparer ?

eric

normalement non mais ça peut m'arriver mais la il ne s'agit pas de voiture lol

je pensais qu'avec photo on pouvait constater l'erreur que j'aurai pus faire

Ta formule ne ressemble pas à celle que j'ai mise en AX4.

Regarde l'aide sur NB.SI(), c'est une fonction à connaitre.

eric

En AX4 tu as mis cette formule

=NB.SI($B$6:$H$16;AI4)

et moi je rajoute juste pour que ça parte de la feuille "Salaire" a la feuille "carte de chomage" avec la formule

=NB.SI('Carte chomage'!$B$5:$H$16;'Carte chomage'!$AI$4)

et du coup je me retrouve avec ce qu'il me faut.

Je te remercie beaucoup de ton aide.

Hé oui, le 2nd paramètre doit être une valeur unique, pas une plage..

Perd cette mauvaise habitude de fusionner des cellules inutilement, les fusions c'est la plaie pour un simple copier-coller.

Tu peux agrandir la hauteur des ligne et la largeur des colonnes pour le même résultat.

eric

Ok merci, je retiens pour les prochaines que je dois faire ce même type de fichier.

Encore merci

Rechercher des sujets similaires à "fonction couleurs"