OVH Cloud OVH Cloud

Mise en forme conditionnelle en VBA

4 réponses
Avatar
Zepo
Bonjour,

Je voudrais faire une mise en forme conditionnelle sur=20
plusieurs crit=E8res en vba, j'ai essay=E9 ce code mais =E7a ne=20
passe pas :
Selection.FormatConditions.Add Type:=3DxlExpression,=20
Formula1:=3D _
"=3D(E449=3D""0"" Or E449=3D""L"" AND AO449<>"""" And=20
AP449<>"""")"
Selection.FormatConditions(2).Interior.ColorIndex =3D 8

Je n'arrive pas =E0 enchainer les conditions ou et et dans=20
ma formule en fait...

Merci d'avance

4 réponses

Avatar
Vincent.
Tout ça n'est qu'une question d'ordre de traitement des
expressions logiques. Si j'ai bien compris ce que tu
voulais, essaie :
Formula1:= _
"=((E449=""0"" Or E449=""L"") AND _
(AO449<>"""" And AP449<>""""))"

Et voilà !
-----Message d'origine-----

Bonjour,

Je voudrais faire une mise en forme conditionnelle sur
plusieurs critères en vba, j'ai essayé ce code mais ça ne
passe pas :
Selection.FormatConditions.Add Type:=xlExpression,
Formula1:= _
"=(E449=""0"" Or E449=""L"" AND AO449<>"""" And
AP449<>"""")"
Selection.FormatConditions(2).Interior.ColorIndex = 8

Je n'arrive pas à enchainer les conditions ou et et dans
ma formule en fait...

Merci d'avance



.



Avatar
Zepo
Merci pour ta réponse Vincent.

Par contre j'ai écrit la formule indiquée et ça ne
fonctionne pas j'ai une erreur argument ou appel de
procédure incorrect

Selection.FormatConditions.Add Type:=xlExpression,
Formula1:="=((E449=""0"" Or E449=""L"")AND_(AO449<>""""
And AP449<>""""))"

Merci d'avance de m'éclairer (est ce que cela peut venir
de ma sélection qui est Range("A449:AU449").Select



-----Message d'origine-----
Tout ça n'est qu'une question d'ordre de traitement des
expressions logiques. Si j'ai bien compris ce que tu
voulais, essaie :
Formula1:= _
"=((E449=""0"" Or E449=""L"") AND _
(AO449<>"""" And AP449<>""""))"

Et voilà !


Avatar
Vincent.
Ben, peut-être... Essaie de rajouter des $ sur les
références. Si ça ne marche pas, essaie de mettre avant la
ligne sur laquelle la macro bloque :
Selection.FormatConditions.Delete
(Excel limite à 3 le nombre de formats conditionnels de
cellules, mais la méthode add peut tenter d'en créer une
qautrième, et là ça peut merder...)
Cela dit, et si rien de tout ça ne marche, tu peux
m'envoyer ton fichier dans ma bal, en enlevat le et
en remplaçant AT par @.

A+

-----Message d'origine-----
Merci pour ta réponse Vincent.

Par contre j'ai écrit la formule indiquée et ça ne
fonctionne pas j'ai une erreur argument ou appel de
procédure incorrect

Selection.FormatConditions.Add Type:=xlExpression,
Formula1:="=((E449=""0"" Or E449=""L"")AND_(AO449<>""""
And AP449<>""""))"

Merci d'avance de m'éclairer (est ce que cela peut venir
de ma sélection qui est Range("A449:AU449").Select



-----Message d'origine-----
Tout ça n'est qu'une question d'ordre de traitement des
expressions logiques. Si j'ai bien compris ce que tu
voulais, essaie :
Formula1:= _
"=((E449=""0"" Or E449=""L"") AND _
(AO449<>"""" And AP449<>""""))"

Et voilà !


.




Avatar
AV
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=OU(E449=""O"";ET(E449=""L"";AO449<>"""";AP449<>""""))"
Selection.FormatConditions(2).Interior.ColorIndex = 8

AV