comptabiliser selon fond cellule

  • Initiateur de la discussion manu
  • Date de début
M

manu

Guest
Salut,
Je suis novice en vba et j'aurais besoin comptabiliser certaine cellules en fonction de la couleur de fond de celulles (G6:AK6).
(Je joint le fichier afin que d'etre plus précis)
je vous remercie d'avance [file name=planningmensuel.zip size=10382]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/planningmensuel.zip[/file]
 

Pièces jointes

  • planningmensuel.zip
    10.1 KB · Affichages: 51
  • planningmensuel.zip
    10.1 KB · Affichages: 47

Léa

Nous a quitté
Repose en paix
Bonjour Manu,

J'ai regardé ta pièce jointe et j'ai constaté que tu veux compter les cellules à fond 'crème', tout simplement pour compter le nombre de jours ouvrables
Dis moi si je me trompe
Si c'est bien cela, il existe des routines toute faites, mais comme la gestion de dates et jours n'est pas mon fort je te conseille plutôt de chercher sur le Forum, car nous avons des pros qui se sont penchés sur ce problème

Maintenant si tu tiens absolument à compter des cellules colorées, je suis ton 'homme' (lol) et alors rappelle moi

Bon courage et bon dimanche :
 

JJM

XLDnaute Occasionnel
Salut manu,

Voici un exemple de fonction personnelle calculant la somme de cellules en fonction de la couleur de leur fond (ici gris) :

Code:
Public Function SommeGrise(Plage As Range)
    Dim vSomme
    
    For Each c In Plage
        If c.Interior.ColorIndex = 15 Then vSomme = vSomme + c.Value
    Next
    
    SommeGrise = vSomme
    
End Function

Il te suffit d'adapter la couleur (ici gris = 15) et les calculs à réaliser.
 

JeanMarie

XLDnaute Barbatruc
Bonjour

Un autre code, qui évite de devoir changer la valeur de la couleur dans le code VBA, puisque celle-ci est passée à la function par Excel.

Public Function NbColor(Plage As Range, vCellcolor As Range) As Byte
Dim vColorTest As Long
Dim Compteur As Long
Dim vColorCell As Range

Compteur = 0
vColorTest = vCellcolor.Interior.Color
For Each vColorCell In Plage
If vColorCell.Interior.Color = vColorTest Then
Compteur = Compteur + 1
End If
Next vColorCell

NbColor = Compteur
End Function

Par exemple :
A1:A20 est la plage de cellule susceptible d'avoir les couleurs
A21 est la référence de la cellue qui contient la couleur à tester.
Et de saisir dans une cellule =NbColor(A1:A20;A21)

Cette Function ne gére pas les couleurs modifiées par les en formes conditionnelles.

Bonne journée

@+Jean-Marie

Message édité par: JeanMarie, à: 30/05/2005 12:50
 
M

manu

Guest
salut jjm
merci pour ton aide
j'ai essayé avec la formule '=somme(SommeGrise(a6:ak6))
et j'ai '#NOM?'.
si j'ai besoin de compter les celulles blanche contenant des dates (ex:'dim 6') entre A6 et AK6 qu'est ce que je doit utiliser comme formule?
encore merci pour ton aide
Manu
 

JeanMarie

XLDnaute Barbatruc
Nombre de jours ouvrés entre deux dates

Re...

Je n'avais pas ouvert ton fichier avant de poster ce code qui n'est pas adpater à ton cas.

Télécharge le fichier Dates et heures que tu trouveras en zone de téléchargement, dedans tu trouveras bien une feuille qui retourne le nombre de jours ouvrés entre deux dates.

@+Jean-Marie
 
M

manu

Guest
Re:Nombre de jours ouvrés entre deux dates

Salut Jean-Marie,
je suis allé voir le fichier 'date/heure' mais j'ai toujours le même
probléme la cellule dans laquelle ce trouve la formule indique #NOM?
je te remercie beaucoup
Manu
 

JeanMarie

XLDnaute Barbatruc
Re:Nombre de jours ouvrés entre deux dates

Re...

Je ne connais pas la formule que tu as choisi, mais j'ai une petite idée. Clique sur le menu Outils/Macros complémentaires...
Dans la boîte de dialogue coche la ligne Utilitaire d'analyse.

@+Jean-Marie
 
M

manu

Guest
Re:Nombre de jours ouvrés entre deux dates

Salut
Merci Jean-Marie
je suis allé voir l'utilitaire d'analyse et c'est vraiment du chinois pour moi. Je suis vraiment débutant
merci encore pour ta patience
Manu
 

Monique

Nous a quitté
Repose en paix
Re:Nombre de jours ouvrés entre deux dates

Bonjour,

Sans macro.
Ta table de correspondance des mois est déménagée.
Tu as une table de fériés. (elle s'appelle 'Fer')
Ta feuille 'Janvier' est devenue 'MoisQuelconque'
A partir du 29, tu as 1 formule conditionnelle (mois de 28 à 31 jours)
2 barres de défilement pour changer mois ou année.
(c'est juste pour faire des essais)
Format conditionnel pour les fériés, samedis et dimanches.
Nb de jours ouvrés :
=NB.JOURS.OUVRES(G6;MAX(G6:AK6))
Si on enlève les fériés :
=NB.JOURS.OUVRES(G6;MAX(G6:AK6);Fer)
Nb de jours ouvrables :
=SOMMEPROD((JOURSEM(LIGNE(INDIRECT(G6&':'&FIN.MOIS(G6;0))))>1)*1)

et en ayant coché l'utilitaire d'analyse. [file name=planningmensuelManu.zip size=10623]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/planningmensuelManu.zip[/file]
 

Pièces jointes

  • planningmensuelManu.zip
    10.4 KB · Affichages: 55

Statistiques des forums

Discussions
312 243
Messages
2 086 541
Membres
103 244
dernier inscrit
lavitzdecreu