Mise en forme conditionnelle via VBA

Bonjour,

Nouveau petit problème, je souhaite pouvoir remplacer les adresses figées dans le morceau de code ci-dessous par des adresses du genre "G" & NumLigne

' Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ET(F12 ="""";G12<>"""")"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 49407
.TintAndShade = 0
End With

Si quelqu'un a une idée je suis preneur...

Bonjour,

Pour faire ça il faudrait remplacer:

"=ET(F12 ="""";G12<>"""")"

par:

"=ET(" & Range("F12").Address & "="""";" & Range("G12").Address & "<>"""")"

A partir de là, on peut remplacer F12 et G12 par autre chose, ça reste du texte, il suffit de lier les parties variables avec le texte en utilisant le &

Pour info avec ces paramètres ça donnerait: =ET($F$12="";$G$12<>"")

Pour faire ça j'ai utilisé:

Sub test()
a = "=ET(" & Range("F12").Address & "="""";" & Range("G12").Address & "<>"""")"
Debug.Print a
End Sub

Puis j'ai checké la fenêtre d'exécution.

Merci pour votre réponse ultra rapide, cela fonctionne parfaitement après encore une petite modification.

Sub MiseEnForme_Conditionnelle()
'Création de l'objet Range
Dim Numligne As Long
Numligne = Feuil2.Range("F3").Value

Range("J" & Numligne).Select

'Supprime le formatage conditionnel existant dans cette plage
Selection.FormatConditions.Delete

'Création de la première règle
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ET(" & Range("F" & Numligne).Address & "="""";" & Range("G" & Numligne).Address & "<>"""")"
Selection.FormatConditions(1).Interior.Color = 49407

'Création de la deuxième règle
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=" & Range("I" & Numligne).Address & "=" & Range("J" & Numligne).Address
Selection.FormatConditions(2).Interior.Color = 5287936

End Sub
Rechercher des sujets similaires à "mise forme conditionnelle via vba"