Microsoft 365 MFC suivant condition

godux60

XLDnaute Nouveau
Bonjour,

Je recherche à réaliser une mise en forme conditionnel d'une cellule selon 1 condition (>0) mais avec la couleur défini dans une cellule.

J'ai essayé de chercher avec l'outil basique d'excel (MFC) mais je ne pense pas que ce soit possible, et après j'ai essayé de me lancer dans un code VBA mais mes compétences sont assez limité.

Ci-joint un fichier explicatif

Merci d'avance pour les réponses

Cédric
 

Pièces jointes

  • Essai Planning.xlsx
    197.9 KB · Affichages: 9

chris

XLDnaute Barbatruc
Boujour

Plutôt que VBA une solution simple :
colorer la ligne en entier (de A à KE)
Puis appliquer une MFC sur la plage $Z$4:$KE$57 supprimer la couleur si cellule contient 0

Exemple sur les lignes roses
 

Pièces jointes

  • Essai Planning Couleur.xlsx
    201 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Godux, Chris,
Chris, ça c'est astucieux.

Néanmoins comme c'est fait, un essai en PJ en VBA.
Je ne l'ai pas fait en automatique car cela risque d'être fastidieux car la macro est lente car il faut aussi gérer les 1 qui auraient été changés en 0 et dont la couleur doit revenir comme à l'original ( blanc ou gris )
Cela se fait par appui sur Colore.
 

Pièces jointes

  • Essai Planning.xlsm
    198.2 KB · Affichages: 2

godux60

XLDnaute Nouveau
Bonjour,

Tout d'abord merci à tout les 2.

Concernant ta solution Chris, elle aurait été top si c'était moi qui renseigner le tableau. Mais dans ce tableau le service administratif insère et supprime des lignes plusieurs fois par semaine, et je pense que 1 fois sur 2 il vont oublier de colorier l'ensemble de la ligne.

Donc je vais plus me porter vers la solution de Sylvanu, serait-il possible d'"automatiser" le lancement de la macro plutôt que d'appuyer sur le bouton. Du genre dès qu'il y a un changement dans les cellules la macro se lance.

Et encore merci à vous 2
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
En PJ un essai avec Worksheet_Change;
J'ai conservé le bouton Colore, car la macro automatique ne traite que les cellules modifiées, pas les cellules qui contiennent déjà un 1. ( sauf si vous aviez un fichier vierge, dans ce cas le problème ne se poserait pas )
 

Pièces jointes

  • Essai Planning(V2).xlsm
    198.3 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Si votre fichier est vierge de toutes valeurs autres que 0 alors il vous suffit de copier dans la feuille Planning :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("AU4:KE57")) Is Nothing Then
        If Target = 1 Then
            Target.Interior.Color = Cells(Target.Row, 1).Interior.Color
        Else
            Target.Interior.Color = Cells(3, Target.Column).Interior.Color
        End If
    End If
End Sub
Cette macro se déclenche sur un changement de valeurs dans une cellule de AU4:KE57.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 086
Messages
2 085 197
Membres
102 814
dernier inscrit
JLGalley