Comment comptabiliser les cellules en couleurs d'une plage

Résolu/Fermé
Tibo63 Messages postés 6 Date d'inscription vendredi 15 novembre 2013 Statut Membre Dernière intervention 27 novembre 2013 - 18 nov. 2013 à 08:06
Tibo63 Messages postés 6 Date d'inscription vendredi 15 novembre 2013 Statut Membre Dernière intervention 27 novembre 2013 - 27 nov. 2013 à 09:44
Bonjour,

Je suis bloqué sur Excel pour l'amélioration du planning hebdomadaire dans mon entreprise.

Je voudrais améliorer le planning du service technique. Leurs interventions sur site ne sont que de 2 à 3 jours maximum. Cette amélioration doit me permettre d'anticiper le nombre d'heures travaillées par semaine pour chaque équipe.

Plus précisément, j'ai une ligne par équipe, avec les jours de la semaine et le service technique colore les jours de la semaine correspondants à l'intervention. Je voudrais pouvoir comptabiliser à la fin de la ligne uniquement les cellules colorées (pour faire ensuite une multiplication de ce nombre x8h/jour pour avoir le nombre total d'heures par semaine et par équipe).

Quelqu'un peut-il m'aider ? Je trouve aucune formule qui prenne en compte "la couleur d'une cellule" comme critère, pour pouvoir comptabiliser uniquement les cellules colorées.

(pour info: Le service technique prend n'importe quelle couleur dans la palette pour colorer les cellules, simplement une couleur différente par ligne pour bien différencier les équipes dans le planning).

Merci d'avance,

Thibaut

<config>Windows 7

10 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
18 nov. 2013 à 08:19
Bonjour,

Tu devrais avoir une solution à cette page
0
Tibo63 Messages postés 6 Date d'inscription vendredi 15 novembre 2013 Statut Membre Dernière intervention 27 novembre 2013
19 nov. 2013 à 14:00
Merci gbinforme,

Je suis pas doué en VBA et c'est la première fois que je l'utilise.

J'ai bien ouvert VBA, j'ai créé "un module 1" dans lequel j'ai copier collé la fonction que tu as donné sur le forum.

Quand je veux enregistrer j'ai le message d'erreur suivant:

"Les fonctionnalités suivantes ne peuvent pas être enregistrées dans des classeurs sans macro:
.Projet VB
Pour enregistrer un fichier avec ces fonctionnalités, cliquez sur Non, puis sélectionner un type de fichier prenant en charge les macros dans la liste Type de fichier"


Désolé mais là je bloque même en regardant les discussions précédentes...Que dois-je faire ? Qu'est-ce que j'ai loupé avec les macros ?

Merci,

Thibaut
0
Tibo63 Messages postés 6 Date d'inscription vendredi 15 novembre 2013 Statut Membre Dernière intervention 27 novembre 2013
19 nov. 2013 à 14:19
j'ai un peu avancé depuis le dernier message...je suis arrivé à l'enregistrer en changeant de type de fichier...

Par contre j'ai maintenant le même problème que les autres, avec le message de Excel disant qu'il est impossible de traiter la question...

J'ai relu tes explications mais je comprends pas celle-ci:

"En fait il faut que le module où tu mets la fonction soit :
- le classeur où tu veux l'utiliser
- ou bien ton classeur "PERSO.xls"


Peux-tu m'en dire un peu plus stp ?

encore merci,

Thibaut
0
Bonjour

sans model dur

voila une macro qui compte sur une ligne

Sub NombCouleur()
Lig = 20
        Set Plg = Range("D" & Lig & ":H" & Lig)
    For Each cel In Plg
        If cel.Interior.ColorIndex <> xlNone Then
         C = C + 1
        End If
    Next cel
Range("J" & Lig).Value = (C * 8)
End Sub


A+
Maurice
0

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

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
19 nov. 2013 à 16:06
Bonjour,

Voici un exemple au format ancien mais tu peux le sauvegarder en .xlsm :

https://www.cjoint.com/c/CKtqfWEBQbE

Dans ce cas, la fonction ne peut être utilisée que dans ce classeur.

Si tu mets la fonction dans un module de ton classeur personnel (mode d'emploi) tu pourras l'utiliser dans tous les classeurs que tu ouvriras en sélectionnant dans macros personnalisées et elle sera précédée du nom de ton classeur "=PERSONAL.XLSB!cumul_couleur($A$2:$E$16;G2)"
0
Tibo63 Messages postés 6 Date d'inscription vendredi 15 novembre 2013 Statut Membre Dernière intervention 27 novembre 2013
21 nov. 2013 à 07:06
Bonjour,

Merci à vous pour vos informations.

gbinforme merci pour l'exemple joint mais ce n'est pas tout à fait la fonction que je recherche encore.

Avec l'exemple que tu as donné, je suis obligé d'avoir des cellules avec un chiffre dedans pour pouvoir les comptabiliser. Mes cellules dans mon planning à moi n'ont pas de chiffre puisqu'elles indiquent uniquement les jours travaillés.

Pour mieux comprendre et simplifier la résolution de mon problème, je vais vous envoyer mon fichier en PJ mais je suis nouveau sur le forum et ne sais pas comment faire. Pouvez-vous m'indiquer comment créer un lien pour une pièce jointe ?

Merci,

Très cordialement
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
Modifié par gbinforme le 21/11/2013 à 09:23
Bonjour,

ce n'est pas tout à fait la fonction que je recherche encore

Si tu veux le nombre de cellules, il suffit de remplacer "elm.value" par 1 dans la fonction :

https://www.cjoint.com/c/CKvjt5xgokq

Si tu veux le nombre d'heures, il te suffit de rajouter ensuite la multiplication que tu veux avec le format approprié bien sûr :
=PERSONAL.XLSB!cumul_couleur($A$2:$E$16;G2)*"7:48" 

PS :Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ et tu mets ici le lien obtenu.
0
Tibo63 Messages postés 6 Date d'inscription vendredi 15 novembre 2013 Statut Membre Dernière intervention 27 novembre 2013
25 nov. 2013 à 10:24
Bonjour,

Veuillez m'excuser pour mon retard de réponse, je n'étais pas disponible ces deniers jours...

Voici mon fichier sur le lien ci-dessous, ça sera plus simple pour la compréhension de ce que je recherche exactement je pense:

http://cjoint.com/data3/3KzksYO7JOh.htm

Dans la colonne "TOT HOURS", je voudrais pouvoir juste comptabiliser le nombre de cellules en couleur pour chaque ligne (les cellules en couleur représentent les jours d'intervention sur chaque chantier).

Merci encore de votre aide,

Tibo
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
25 nov. 2013 à 11:16
Bonjour,

Ton classeur avec la fonction un peu modifiée et appliquée à chaque plage de la ligne.

https://www.cjoint.com/c/CKzlolIUrt8

J'espère que cela correspond à ton désir.
0
Bonjour

Macro pour la Feuil "Week 46"

Sub NombCouleur()
Dlig = 11
Flig = 25
For L = Dlig To Flig
  C = 0
  Set Plg = Range("F" & L & ":L" & L)
    For Each cel In Plg
      If cel.Interior.ColorIndex <> xlNone Then
        C = C + 1
      End If
    Next cel
    If C > 0 Then
      Range("O" & L).Value = C
      Range("P" & L).Value = (C * 8)
    Else
      Range("O" & L).Value = ""
      Range("P" & L).Value = ""
    End If
Next
Set Plg = Nothing
End Sub


A+
Maurice
0
Tibo63 Messages postés 6 Date d'inscription vendredi 15 novembre 2013 Statut Membre Dernière intervention 27 novembre 2013
27 nov. 2013 à 09:44
Merci à vous vraiment,

C'est exactement ce que je recherchais.

Grâce à vous l'entreprise va évoluer dans ses prévisions d'heures mensuelles !

Encore merci,

Bonne continuation,

Tibo
0