Sous excel déterminer le nombre de case verte

Fermé
bluelinesjr - 29 juin 2010 à 23:46
 bluelinesjr - 6 juil. 2010 à 08:02
Bonjour,

je cherche sous excel a déterminer le nombre de case verte qui coïncident avec des cases blanche
Merci a ceux qui pourront m'aider.
bluelinesjr

A voir également:

17 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
29 juin 2010 à 23:56
Salut le forum

Merci de détailler un peu plus ta demande, c'est trop vague

Ou utilise https://www.cjoint.com/ pour joindre un fichier,
tu recopies ensuite le lien dans ton prochain message.

Mytå
0
Raymond PENTIER Messages postés 58404 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 2 mai 2024 17 098
29 juin 2010 à 23:56
Comment as-tu coloré ces cases en vert ?

Qu signifie exactement "le nombre de case verte qui coïncident avec des cases blanche" ?
0
bluelinesjr
30 juin 2010 à 00:02
oui pardon j'ai oublier de joindre le fichier
https://www.cjoint.com/?gDx7bbaZds
En fait il sagit de pouvoir compter le nombre de case verte qui ne tombent pas pendant les jours orangé sur cet exemple.
0
Raymond PENTIER Messages postés 58404 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 2 mai 2024 17 098
30 juin 2010 à 00:19
Mais il n'y a rien dans tes cellules : ni code, ni mise en forme conditionnelle, rien !
Sur quoi veux-tu qu'Excel travaille ?

Au lieu de mettre des couleurs manuellement, tu aurais dû taper V pour vert, O pour orange, etc. et utiliser la mise en forme conditionnelle pour que le logiciel mette en vert la police et le remplissage des cellules contenant la donnée "V" ; pareil pour les autres couleurs.
Il aurait été alors particulièrement facile d'utiliser la fonction NB.SI pour effectuer tes décomptes.

Tel que ton fichier a été colorié, tu ne peux faire autrement que de demander à un amateur de VBA de t'écrire une macro ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bluelinesjr
30 juin 2010 à 00:35
Bonsoir le fait est que dans chacune de ces cases il y a déja des lettres que je n'ai pas affichées ici pour centrer le problème uniquement sur les couleurs.
J'ai fait en sorte grâce à une macro qu'excel reconnaisse quand la couleur de fond est verte (couleur n° 43).
Mais j'aimerai qu'il ne comptabilise que les cases "hors week-end"
bonne soirée
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
Modifié par Mytå le 30/06/2010 à 01:10
Salut le forum

Code à mettre dans un module

Function NbreCellulesCouleur(Plage As Range, Couleur As Byte) As Long 
'Compter le nombre de cellules d'une couleur donnée dans une plage donnée 
'Plage: plage de cellules à inspecter 
'Couleur: valeur de la couleur cherchée 

Application.Volatile 

Dim rCellule As Range 

For Each rCellule In Plage 
    If rCellule.Interior.ColorIndex = Couleur Then 
        NbreCellulesCouleur = NbreCellulesCouleur + 1 
    End If 
Next rCellule 

End Function 


Formule dans la cellule C33

=NbreCellulesCouleur(C1:C31;43)

Mytå
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
0
bluelinesjr
30 juin 2010 à 10:22
cool merci!
maintenant je voudrais savoir si je peux de maniere automatique savoir le nombre de cellules verte hors week end...(en utilisant par exemple la colone B comme témoin)
merci en tous les cas pour vos réponses
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
Modifié par Mytå le 30/06/2010 à 12:34
Re le forum

Si tu ne veux pas comptabiliser les Samedi et Dimanche.
En colonne B les dates.

Code de la macro
Function NbreOuvrableCouleur(Plage As Range, Decalage As Integer, Couleur As Byte) As Long 
'Compter le nombre de cellules d'une couleur donnée dans une plage donnée 
'Plage: plage de cellules à inspecter 
'Decalage: offset pour colonne date 
'Couleur: valeur de la couleur cherchée 

Application.Volatile 

Dim rCellule As Range 

For Each rCellule In Plage 
    If rCellule.Interior.ColorIndex = Couleur And _ 
        Weekday(rCellule.Offset(0, Decalage), vbMonday) < 6 Then 
            NbreOuvrableCouleur = NbreOuvrableCouleur + 1 
    End If 
Next rCellule 

End Function

La formule en C33
=NbreOuvrableCouleur(C1:C31;2-COLONNE();43)


Mytå

Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
0
bluelinesjr
30 juin 2010 à 13:01
merci beaucoup!
derniere question y a t il des tutos pour programer ce genre de macro?
merci
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
30 juin 2010 à 14:18
Re le forum

Tu peux commencer ta formation par : VBA pour EXCEL

Mytå
0
bluelinesjr
30 juin 2010 à 19:05
pour info que veux dire "2-COLONNE();43" dans ta ligne de calcul?
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
Modifié par Mytå le 30/06/2010 à 22:39
Re le forum

Bluelinesjr, c'est pour calculer le décalage dans la macro

Weekday(rCellule.Offset(0, Decalage), vbMonday)
afin de toujours récupérer la date en colonne B.

Formule en Colonne C : décalage de -1 (2-3)
Formule en Colonne D : décalage de -2 (2-2)
etc...

Mytå

Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
0
peux tu s'il te plais( je sais je rame énormément) me mettre quel serait la formulle en d33? svp
merci car je souhaite comprendre ....
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
1 juil. 2010 à 23:02
Re le forum

Tu n'as qu'à recopier la formule de la cellule C33 vers la droite

Formule en D33
=NbreOuvrableCouleur(D1:D31;2-COLONNE();43)

Formule en E33
=NbreOuvrableCouleur(E1:E31;2-COLONNE();43)

Mytå
0
merci
mais je suis désolé je rencontre un problème car vois tu comme dans ce tableau
https://www.cjoint.com/?hcaQ0ZHjhH
le nombre de cases verte ne correspond pas...
et même si je crois avoir compris une parti de "la logique" de cette macro
la raison de ce "bug" m'échappe.
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
2 juil. 2010 à 00:59
Re le forum

Tu as oublié de mettre le code de la macro.

J'ai apporté quelques correctifs pour le fichier.

Téléchargement : Ton fichier corrigé

Mytå
0
ha ok merci beaucoup
0