Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Vba excel lire les conditions d'une mise en forme dans une cellules

zephir94

XLDnaute Impliqué
Bonsoir à tous,

J'ai une question concernant les MFC.

créer des MFC dans une cellule j'y suis arrivé :

Code:
Range("O" & df).Select
 With ThisWorkbook.Worksheets(1).Range("O" & df)
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, _
Formula1:="=ET(N" & df & "<=" & s & ")"
.FormatConditions(1).Interior.ColorIndex = 3
End With
  With ThisWorkbook.Worksheets(1).Range("O" & df)
.FormatConditions.Add Type:=xlExpression, _
 Formula1:="=ET(N" & df & " >= " & d & ";N" & df & "<" & X & ")"
.FormatConditions(2).Interior.ColorIndex = 46
End With
  With ThisWorkbook.Worksheets(1).Range("O" & df)
.FormatConditions.Add Type:=xlExpression, _
 Formula1:="=ET(N" & df & " >= " & X & ")"
.FormatConditions(3).Interior.ColorIndex = 4
End With
With ThisWorkbook.Worksheets(1).Range("O" & df)
.FormatConditions.Add Type:=xlExpression, _
Formula1:="=ET(N" & df & "=" & e & ")"
.FormatConditions(4).Interior.ColorIndex = 1
End With

Mais peut on en Vba récupérer la valeur numérique pour laquelle une MFC est vraie dans une cellule ?
par exemple si :

si<5 alors cellule en rouge, je voudrais récupérer 5.
J'ai essayé comme ceci :

Code:
Cells(df, 15).Select
Set fgg = Cells.FormatConditions(1).AppliesTo.Cells(df, 15)
Formula = Application.ConvertFormula(Formula, xlA1, xlR1C1, , firstCell)
Formula = Application.ConvertFormula(Formula, xlR1C1, xlA1, , cellRange)

Mais ça ne fonctionne pas !

Merci par avance pour vos aides
 
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : Vba excel lire les conditions d'une mise en forme dans une cellules

Bonsoir, zephir94.

L'aide sur la propriété Formula1 de l'objet FormatCondition (F1 dans l'éditeur VBA) nous dit : Si ça peut vous aider ...
 

zephir94

XLDnaute Impliqué
Re : Vba excel lire les conditions d'une mise en forme dans une cellules

Merci Victore21,

J'ai bien lu avec F1 cette aide avant de poser ma question ! mais ça n'a pas répondu à cette dernière, je cherche à retrouver pour quelle valeur une MFC est vrai.

L'enregistreur de macro m'a donné ceci :

Code:
 Selection.FormatConditions(1).StopIfTrue = True
    Range("O12").Select
    Range("O11").Activate
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=ET(N11 >= 10)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ColorIndex = 4
        .TintAndShade = 0
    End With

ce que je recherche est :
"=ET(N11 >= 10)" soit 10

donc je me suis dis pourquoi ne pas récupérer la formule dans ce range !

Code:
y=Range("N11" ).FormulaR1C1Local

mais plouf ! pas de formule
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Vba excel lire les conditions d'une mise en forme dans une cellules

Bonjour zephir94, Patrick,

La MFC est créée sur la cellule O11, donc pour récupérer sa formule :

Code:
y = Range("O11").FormatConditions(1).Formula1
MsgBox y 'pour tester
A+
 

Discussions similaires

Réponses
2
Affichages
693
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…