MFC en VBA complexes, avec plusieurs conditions

Bonjour au forum,

Je bloque sur un code qui me permettrait de mettre en forme certaines cellules selon plusieurs conditions.

Pour éviter de longues explications, je joins un fichier exemple avec description du problème.

Pour info, mon code pour ajouter la MFC actuelle et que j'aimerais modifier est :

With Ws.Range("O11:S13")
                .FormatConditions.Delete

                .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual _
                , Formula1:="1"
                .FormatConditions(1).Interior.Color = RGB(234, 241, 221)

                .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual _
                , Formula1:="0"
                .FormatConditions(2).Interior.Color = RGB(242, 221, 220)

                .FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater _
                , Formula1:="1"
                With .FormatConditions(3)
                    .Interior.Color = RGB(252, 213, 180)
                    .Font.ColorIndex = 3
                    .Font.Bold = True
                End With

Si vous avez d'autres idées, je suis ouvert à tout autre façon d'appréhender le problème.

Merci d'avance pour votre aide !

13mfc.xlsx (13.33 Ko)

Bonjour

Travail fait sur les colonnes J à P pour test

30mfc.xlsm (21.31 Ko)

A voir

Bye

Bonjour Patty5046,

Merci pour ta réponse, cela fonctionne parfaitement !

Mais mon problème est que pour que la MFC fonctionne, la macro doit être lancée à chaque ajout d'un horaire. Hors il faudrait que cela se fasse en temps réel.

Est-ce réalisable ?

Bonjour

Evènement Worksheet change :

21mfc-v1.xlsm (18.47 Ko)

Dis-moi

Cette fois je l'ai fait directement sur tes colonnes C à H

A+

Merci pour ta réponse Patty5046.

Cela fonctionne parfaitement mais je pense que je me suis mal exprimé sur ce dont j'aurais besoin

Le code me sert à appliquer plusieurs MFC sur les 53 feuilles de mon fichier. Étant donné que le code complet est assez conséquent, je ne le lance qu'à chaque début d'année pour éviter d'avoir à le répéter sur toutes mes feuilles, ou occasionnellement si un des utilisateurs a, par miracle, modifié des bordures ou tout autre format.

Pour résumer, il faudrait que je ne sois pas obligé de déclencher cette macro à chaque utilisation/modification...

Est-ce réalisable ?

Merci d'avance !

Bonjour

Est-ce que cela va mieux avec un bouton que tu déclenches quand tu veux ??

27mfc-nrev-v3.xlsm (22.74 Ko)

A voir

Bye

Merci Patty5046 pour ta réponse, mais malheureusement non cela ne convient pas...

Dans le fichier que tu m'as envoyé, imagine que je place "Rou" en D3. J'aimerais que la MFC se fasse immédiatement (donc D9:D10 en vert et D11 en grisé. Comme une MFC "normal" on va dire.

C'est vraiment l'idéal pour moi, si c'est trop compliqué ou même impossible, je me contenterai de mon 1er sans trop de regrets hein...

Merci pour ton temps !

Bonjour

C'est bien pour cela que j'avais mis l'évènement worksheet Change ...

Bye

Tout à fait, j’entends bien.

Mais comme je te disais, je ne peux pas me permettre de passer par l’événement Worksheet Change vu le nombre conséquent de taches comprises dans la macro intégrale (donc assez longue à exécuter).

Mais je viens de comprendre ce que tu me suggérais probablement de faire... mettre ton code isolé de la macro complète dans ThisWorkBook.

Désolé, c’est le début de semaine...

Rechercher des sujets similaires à "mfc vba complexes conditions"