Bonjour toutes et tous,
Je viens d'arriver sur le forum et comme l'indique mon identifiant je ne sais me servir d'Excel que d'une façon assez basique. Cependant je voudrais développer les actions possibles sur ce progiciel. Par exemple je suis en train de faire un planning pour lequel je voudrais affecter une valeur de temps (30 mn.) à une cellule en fonction du remplissage couleur de celle ci. Je m'explique : j'ai des lignes avec des tranches horaires (7.00 / 7.30 puis 8.00 / 8.30 etc) puis j'ai des colonnes avec des noms de personnes et je voudrais remplir les cellules avec des couleurs pré déterminées en fonction des personnes. (Mr. X code couleur rouge, travaille de 7.00 à 9.00 h, donc je remplis les 4 cellules valant 1/2 chacune correspondantes aux horaires et en bas je voudrais faire un total des heures faites par Mr. X). Voilà c'est simple non… ! J'entrevois de faire qq chose avec la fonction SI mais je ne vois pas comment affecter comme condition une couleur de remplissage et non un texte (OUI ou NON par exemple)
Je souhaite que vous arriviez à comprendre mon problème parce que je passe du temps là dessus sans y arriver !
Merci de vos lumières
Bien cordialement
J'ai un peu changer la donne, mais je pense que ça peut le faire.
Dans mon exemple joint, tu mets un X lorsque la plage horaire est occupé par une personne et par une mise en forme conditionnelle, la cellule se colorie.
Ensuite, je compte le nombre de X et je le multiplie par 0.5 (1/2h) et je le ramene en format horaire.
Bonsoir JBOBO et Pierrejean, merci de vos exemples qui fonctionnent l'un et l'autre. Cependant, je dois être un peu bourin ! mais je ne comprends pas comment et ce qu'il faut que je fasse pour me resservir de ce type de problème. Merci encore de vos lumières
Copier ce code dans un module standard (Outils> Macro > Vba Editor puis Insertion > Module
Code:
Function somme_spe(zone As Range, couleur As Range) As Double
coul = couleur.Interior.Color
For Each cel In zone
If cel.Interior.Color = coul Then
tot = tot + 1 / 48
End If
Next cel
somme_spe = tot
End Function
Tu disposera alors d'une fonction a utiliser comme n'importe quelle fonction standard
exemple:
=somme_spe(C3:C27;B32)
Donne: (nombre de cellules situées dans la zone C3:C27 ayant la couleur de la cellule B32) * 1/48) exprimé en jours soit: (nb cellules * 1/2 heure)
Eventuellement cette fonction est accessible apres avoir mis = dans Autres fonctions > personnalisées
MERCI ami,
Mais vraiment vous êtes d'un niveau à des années lumières du mien. Je vais abandonner, je n'arrive pas à faire ce que tu me dis de faire je ne sais pas comment copier ce code dans un module standard, je tente de suivre la procédure mais je bute sur des fenêtres que je ne sais pas manier !! Je suis trop nul je vais me cultiver un peu mais je désespère !! Merci encore
BONJOUR à tous
je me permets de mettre voir ici(en bas de page), un exemple de "l'excel"ent boisgontier sur une MFC inversée qui doit correspondre à ta demande
bonne journée
Bonsoir Pierrejean,
Ca y est… j'ai réussi à faire ce que tu me disais ! effectivement ça marche mais je rencontre une autre difficulté, en effet je ne peux pas revenir en arrière et effacer en cas d'erreur par exemple une cellule déjà colorée. Ni par effacer le contenu, ni par aucun remplissage. Je vois bien que ça ne fait aucune action sur les cellules que je travaille. As tu une idée de solution à ce problème pour que je puisse finaliser mon tableau ?? Grand merci encore à toi ainsi qu'à JBOBO et à Pascal 21.
Bien cordialement
Je ne comprends pas
J'ai testé de 2 façons
1) avec le pinceau en prenant d'abord une cellule avec fond blanc
2) en allant sur l'icone couleur de fond et Aucun remplissage
et a chaque fois les comptes se sont mis ajour
Merci Pierrejean tout fonctionne à merveille maintenant. Seul nouveau problème c'est quand je veux faire tourner le modèle sur Mac 2008 plus rien ne marche puisque cette dernière mise à jour supprime toute possibilité de VBA !!! et donc oblige la désactivation des macros à l'ouverture du fichier… Donc plus rien ne fonctionne et je suis dans ….
Bien cordialement
Bonjour,
Je suis intéressé par ce genre de formule mais malheureusement pour contredire pierre -jean, quand on remet les cellules en blanc ou sans remplissage, le compteur ne se remet pas à zéro. Peut-être qu'il faut améliorer le système.
Merci