XL 2010 Valeur selon code de couleur d'une cellule

fablog

XLDnaute Occasionnel
Bonjour,

Pourriez-vous m'aider à résoudre le problème suivant svp:

Dans une feuille de temps, je voudrais que le total d'une ligne se fasse en additionnant des heures pondérées. En effet, je voudrai que le temps supplémentaire soit identifié par la couleur de fond de la cellule. Comme indiqué dans mon fichier d'exemple joint, pour identifier 1H de travail fait avec une pondération de 1,5, l'utilisateur utilisera la couleur orange; vert pour 1,75 et mauve pour 2. Le total devra prendre en considération cette pondération. Le temps régulier n'aura pas de couleur de cellule.

Si possible, j'aimerai que le choix de ces 3 couleurs se fasse en cliquant dans une boite d'option qui apparaitrait après avoir double cliqué sur la cellule de temps à remplir.

Est-ce possible?

Merci par avance et bonne fin de journée!
 

Pièces jointes

  • TempsSupp.xlsx
    10.1 KB · Affichages: 34

Hieu

XLDnaute Impliqué
Salut,

Voici un empilement de fonctions qui te permettent de faire le calcul souhaité ;
VB:
Function couleur(c)
couleur = c.Interior.Color
End Function
Function coef(c)
orange = 49407
vert = 10213316
mauve = 13082801
Select Case couleur(c)
    Case orange: coef = 1.5
    Case vert: coef = 2
    Case mauve: coef = 1.75
    Case Else: coef = 1
End Select
End Function
Function pond(r As Range)
For Each c In r
pond = pond + coef(c) * c
Next c
End Function

Il manque un évènement avec un userform (jsuis pas doué, sur ces sujets)
 

Pièces jointes

  • TempsSupp_v0.xlsm
    17.3 KB · Affichages: 40

CHALET53

XLDnaute Barbatruc
Bonjour,
J'avais envisagé une autre approche
Un click droit dans la cellule (entre B2 et E100) affiche un userform
Les calculs se font en fonction des couleurs et non des entêtes de colonnes
Ayant des problèmes avec le vert, j'ai mis gris

a+
 

Pièces jointes

  • Fablog TempsSupp.xlsm
    34.8 KB · Affichages: 38

fablog

XLDnaute Occasionnel
Je pense que je vais faire un mix de vos 2 solutions :)

J'ai utilisé le code de Hieu, car il me semblait plus simple (peut être que je me trompe) et le user form de Chalet53. Par contre, il semble que je ne comprenne pas grand-chose au codage, car l'addition ne tient plus compte de la pondération. J'ai passé du temps à essayer de comprendre le code, mais mes connaissances en VBA sont assez faibles. :(

Pourriez-vous m'aider à régler les points suivants svp?

- Réparer la colonne "Total" avec la pondération

- Après un clic droit sur une cellule pour choisir une couleur dans le user form, la fenêtre de propriétés s'affiche. Est-ce possible d'empêcher cela?

- Dans le user form, j'aimerai utiliser les termes "Temps 1.00", "Temps 1.50", "Temps 1.75" et "Temps 2.00" au lieu de "blanc", "orange", "gris", "mauve" et mettre la couleur de fond de ces termes en blanc, orange, gris et mauve dans le user form.

- J'ai compris qu'il fallait laisser le nom des couleurs dans la colonne « M ». Où puis-je paramétrer cet emplacement, si par exemple, je veux les déplacer dans la colonne Z?


Merci par avance pour votre aide, j'apprécie énormément le temps que vous me faites gagner :D
 

Pièces jointes

  • TempsSupp_v1.xlsm
    25.1 KB · Affichages: 28

CHALET53

XLDnaute Barbatruc
Re,
Pour l'instant, je n'ai pas trouvé comment s'affranchir de la fenêtre Propriétés
J'ai fait quelques modifs :
Libellé
La fonction recherche de la couleur dans la fonction Pond
Ce n'est pas la valeur des entêtes qui est prise en compte pour la pondération mais la couleur (quelque soit la colonne)
Si tu veux déplacer de la colonne M à Z
Tu vas dans les propriétés de la combobox1 et tu descends sur RowSource : tu remplaces M1:M4 par Z1:Z4
a+
 

Pièces jointes

  • Fablog TempsSupp bis.xlsm
    26.1 KB · Affichages: 30

fablog

XLDnaute Occasionnel
Salut,
Je viens de me rendre compte que je vais avoir besoin d'ajouter une autre pondération pour bien compliquer la chose :p
Mon tableau sert à calculer des salaires en tenant compte du taux horaire (1ere pondération) mais aussi du niveau salarial (2e pondération). J'ai rajouté cette 2e pondération dans la ligne 1 et mis le calcul attendu en commentaire dans le fichier joint. Est-ce que je peux encore solliciter votre aide sur ce point svp?

Merci par avance!
 

Pièces jointes

  • Fablog TempsSupp bis.xlsm
    23.7 KB · Affichages: 27

fablog

XLDnaute Occasionnel
Wow, merci beaucoup pour ta rapidité. Je te confirme que tout marche à merveille :)

Pour les couleurs différentes dans le combobox, de ce que j'ai lu, cela a l'air pas mal compliqué. Par défaut, Excel ne permet pas de faire cela, il faut donc le coder. Si quelqu'un a une solution je suis preneur mais c'est un problème mineur pour mon projet; c'est juste pour le coté cosmétique.

J'adore ce forum, a+
 

fablog

XLDnaute Occasionnel
Chalet53, j'ai cherché ce que tu avais modifié pour que la fenetre d'options n'apparaisse plus, mais je ne trouve pas. Peux tu expliquer ta manip stp?
Par ailleurs, je t'ai envoyé un message privé car j'ai un problème pour adapter ton code à mon vrai fichier.
Merci!
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T