MFC problématique via VBA

Bonjour, j'ai un petit soucis de MFC

[...]

For Each cel In Tabg
    With cel
        .FormatConditions.Add Type:=xlExpression, Formula1:= _
            "=NB.SI($N$5:$N$38;TEXTE(" & cel.Address & "&""/""&MOIS(AUJOURDHUI())&""/""&ANNEE(AUJOURDHUI());""jj/mm/aaaa""))>=1"
        .FormatConditions(1).Font.Bold = True
        .FormatConditions(1).Interior.ThemeColor = xlThemeColorAccent2
        .FormatConditions(1).Interior.TintAndShade = 0.599963377788629
        .FormatConditions(1).StopIfTrue = False
    End With
Next cel

[...]

J'ai déja UNE SEULE mise en forme conditionnelle par cellule comprise dans Tabg. Je rajoute donc une seconde MFC. Faire avec Formula1 ça écrase la numéro 1, ce qui est compréhensible, mais quand je mets Formula2 ça ne marche pas.

Comment puis-je ajouter une seconde MFC sans écraser celle présente svp?

Merci pour l'aide apportée.

Atro

Bonsoir,

je crois que cela passe par : .FormatConditions(1).

où le 1 correspond à la première, donc une deuxième serait 2

Formula1 n'est qu'un paramètre, et correspond dans votre cas à la formule de test, mais si vous deviez faire une condition qui demande deux paramètres > à et < à alors il y aurait formula2...

Donc s'il y a déjà une MFC, il suffit alors de faire un ADD, puis d'utiliser .FormatConditions(2) pour y accéder.

Seul point noir, je ne sais plus si lors de l'ajout le nouveau reste à 2 ou s'il y a un décalage, le 1 passe 2 et le dernier passe 1...

@ bientôt

LouReeD

Bonjour LouReeD, au plaisir de te lire à nouveau ça faisait longtemps ^^

Je vais tester ça mais pour le moment j'ai test avec 1 et 2 ça ne fonctionne pas. Je vais tenter plus de variations dans l'écriture. Je suis preneur si il y a d'autres solutions ^^

Bonjour Atro,

Hello LouReeD, quelques années plus tard ...

Tu peux définir un objet de type "FormatCondition" (ici : "oCond")

La condition que tu ajoutes est affectée à cet objet.

Ensuite, tu gères les propriétés de cet objet. Tu pointes directement sur la bonne condition.

Attention : si tu lances x fois le traitement, tu auras x nouvelles MFC.

    Dim oCond As FormatCondition

    For Each Cel In Tabg
        With Cel
            Set oCond = .FormatConditions.Add(Type:=xlExpression, Formula1:= _
                "=NB.SI($N$5:$N$38;TEXTE(" & Cel.Address & "&""/""&MOIS(AUJOURDHUI())&""/""&ANNEE(AUJOURDHUI());""jj/mm/aaaa""))>=1")

            oCond.Font.Bold = True
            oCond.Interior.ThemeColor = xlThemeColorAccent2
            oCond.Interior.TintAndShade = 0.599963377788629
            oCond.StopIfTrue = False

            Set oCond = Nothing

        End With
    Next Cel

Bouben

Bonjour Bouben, je viens de trouver et je passais donner la solution. Merci d'avoir cherché en tout cas...

Il manquait juste

.FormatConditions(cel.FormatConditions.Count).SetFirstPriority

au code...

Rechercher des sujets similaires à "mfc problematique via vba"