Mise en forme conditionnelle

Bonjour a tous je souhaiterai changer la couleur d'une cellule en fonction d'une liste déroulante pour créer un tableau de présence du personnel. (malade, abs injustifiée, médecin, etc...). Dans mon tableau les cellules ont des X pour les présents et des O pour les absents or suivant le motif de l'abscence le O est de couleur différente. J'arrive bien a faire la mise en forme conditionnelle avec la bonne couleur en fonction du motif mais je ne voudrais pas que le motif s'affiche dans la cellule juste le "O". Il faudrait que si je tape un O dans la cellule et seulement si, excel me propose la liste déroulante avec le motif a choisir.

Merci de votre aide

Bonjour,

Tu aurais un fichier?

xtel

Bonjour et merci pour ta réponse voici le fichier exemple

Donc en résumé je me demande comment changer la couleur de la cellule et mettre la lettre "O" dedans au milieu en fonction du type d'abscence déclaré dans une liste de validation de données par exemple ?

Je ne veux pas que le motif apparaisse dans la cellule mais la cellule dois changer de couleur en fonction du motif de l'abscence tout en gardant la lettre "O" au centre.

Je ne sais pas si je m'exprime correctement ou si ma demande est compréhensible car je n'ai pas un super niveau sur excel désolé.

Bonjour, mon problème à l'air impossible à résoudre puisque je n'ai eu aucune réponse depuis celle de teten1

Bonjour,

Quel est ton objectif final ? Confidentialité des données ?

C'est possible, si personne ne t'as répondu d'ici cet après midi je me pencherais dessus et te ferais un premier jet dans la soirée.

Salut et merci pour ta réponse. Le but final est d'avoir la bonne couleur dans la cellule en fonction du motif de l'absence sans que le motif soit écris dans la cellule. Pas pour la confidentialité mais pour la lisibilité générale du tableau.

Salut Roberto,
Salut l'équipe,

pas de MFC (elles sont supprimées) mais deux macros :
- une pour créer les listes de validation ;

If Not Intersect(Target, Range("D3:M12")) Is Nothing Then _
    Target.Validation.Add Type:=xlValidateList, Formula1:="=P1:P8"

- une autre pour en gérer l'affichage et les couleurs

If Not Intersect(Target, Range("D3:M12")) Is Nothing Then _
    Target.Interior.Color = Columns(16).Find(what:=Target, lookat:=xlWhole, LookIn:=xlValues).Interior.Color: _
    Target = IIf(Target.Interior.Color = RGB(255, 255, 255), "X", "O")

Á toi d'adapter la zone de réaction [D3:M12] de ce fichier-exemple

8roberto.xlsm (22.36 Ko)


A+

Bonjour Curulis57 et merci pour ta réponse. Tout fonctionne parfaitement il ne me reste plus qu'à transposer ces é macros dans mon fichier excel donc je veux bien ton aide pour faire cette dernière tache. J'ai l'outil développeur de déjà activé dans ma feuille pour info.

Salut Roberto,

sans connaître ton niveau en VBA ni ton fichier, on risque de tourner en rond...
Pas plus facile d'envoyer ton fichier ?


A+

Bonjour,

Je vais peut être passer pour un gros faignant mais au vu de ta réponse Roberto, ça ne te suffirait pas ça ?

J'ai juste mis la MEFC de la police de la même couleur que le remplissage de ta cellule et mis l'écriture en taille de police 1. Simple mais efficace comme ça tu peux conserver tes statistiques. Je suis un as dans la falsification et la poudre de perlimpinpin !

Dans l'attente de ton retour.

6mefc.xlsm (18.81 Ko)

Bonjour Ergotamine et merci d'avoir pris le temps de me répondre. Effectivement ta solution est une très bonne solution si je n'avais pas voulu afficher un "O" dans les cellules ou le travailleur est absent.

Il s'agit d'une solution ingénieuse !

@Curulis57 je vais essayer de copier le code dans ma feuille Excel et modifier les variables pour que ça colle. Effectivement je ne connais pas bien le vba car je ne le pratique pas mais si tu me fais le truc aux petits oignons je n'apprendrai jamais .

Du coup je vais essayer de le faire par moi même et si ça ne fonctionne pas je te donnerai mon fichier.

Merci à vous deux pour votre aide en tout cas.

Bonsoir …

autre façon de voir les choses (sans MFC mais avec une liste déroulante (Combobox) et un peu de VBA simple) dans le fichier joint.

Bonjour Ordonc et merci pour ta solution mais je voudrais qu'un "O" soit affiché dans la cellule des abscences sinon ka combo box je ne sais pas faire mais il faut que j'apprenne c'est sympa aussi.

@Curulis57 Est il possible de selectionner plusieurs cellule et d'avoir la liste déroulante ? Et est il possible d'augmenter la taille de la fenêtre qui s'ouvre quand on fait une liste déroulante ?

Salut Roberto,
Salut l'équipe,

- pour la largeur de la liste déroulante, j'ai déjà eu cette demande : OK ;
- pour élargir la sélection, je commence à te bricoler ça.
J'imagine que tu veux pouvoir sélectionner :
* une Range élargie unique ;
* plusieurs cellules uniques non contigües
* voire plusieurs Range non-contigües

Ça fonctionne déjà pour une Range élargie unique...
J'attaque le reste... sans garantie, on verra...


A+

Merci Curulis57 t'es un chef !

Salut Roberto,

ton fichier-exemple de retour qui a l'air de fonctionner comme je le souhaitais.
Faudra un peu de gymnastique au début pour t'habituer...

- tu peux sélectionner une cellule, un ensemble de cellules contiguës ou plusieurs Range non-contiguës selon tes besoins ;
- 1 cellule, faut pas t'expliquer... ;
- 1 ensemble de cellules contiguës, non plus, je suppose... ;
- pour sélectionner plusieurs Range non-contiguës , commence par enfoncer la touche CTRL et sélectionne tes cellules ou ensemble de cellules ;
- lorsque tu arrives au dernier Range à cibler, lâche la touche CTRL et sélectionne ce dernier Range ;
- la dernière cellule de ce dernier Range reçoit alors la liste de validation en élargissant la colonne selon la largeur de la colonne [P:P] ;
- le choix d'une option fait les changements demandés et rétrécit la colonne à la largeur de la colonne [A:A] ;
- si, lorsque la liste de validation s'affiche, tu changes d'avis (ou si tu remarques une erreur de sélection), un clic-droit annule tout.

J'ai laissé apparentes les cellules en [P1:P2] qui calculent les références des cellules que tu sélectionnes.

Á tester et à adapter à ton fichier de travail.

6roberto.xlsm (35.29 Ko)


A+

Merci Curulis57 je vais tester et te donner mon ressenti

Rechercher des sujets similaires à "mise forme conditionnelle"