Execl 2003 : ne pas affiche de mise en forme conditionnelle sur une case vide [Résolu]

Signaler
Messages postés
16
Date d'inscription
mardi 18 octobre 2005
Statut
Membre
Dernière intervention
3 mars 2010
-
Messages postés
16
Date d'inscription
mardi 18 octobre 2005
Statut
Membre
Dernière intervention
3 mars 2010
-
Voilà, cela fait des heures que je cherche une solution et j'en suis arrivé à un point ou j'en sais moins qu'avant!

Voila, j'ai un tableau, dans lequel j'ai appliquée des mises en forme conditionnelle, colonne par colonne.

Jusque là, tout va comme je le veux!

Mon problème, est que je ne remplis pas systématiquement toutes les cellules, ceci en fonction de mes besoins, mais que la MFC d'Excel2003, elle le fait !!!

Du coup, au lieu d'avoir des cellules vides et sans remplissage, tout mon tableau est en couleur!

je joint le fichier en question car je sais plus quoi faire!
Mon tableau se trouve sur la feuille 2 : Eau

Fichier Excel2003

Merci d'avance

12 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

pourquoi du code pour 3 mfc ?

Tu selectiones ton tableau depuis la cellule en haut à gauche(b36) vers la cellule en bas à droite(j44).



Dans la liste déroulante à gauche de la fenetre des mfc tu choisis pour chaque condition :

[La formule est ]

puis pour la condition 1 (vert)

ET(B36<>"";B36<$I$17;B36>=$H$17)

condition 2 (orange)

ET(B36<>"";B36<$J$17;B36>=$G$17)

condition 3 (Rouge)

=ET(B36<>"";OU(B36>$J$17;B36<$G$17))

A+
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
224
Bonjour à toi également,
Nombreux sont ceux qui, comme moi et pour diverses raisons (notamment de sécurité), n'ouvriront pas un classeur non écrit par eux-mêmes !
Si tu veux de l'aide, montre uniquement la partie du code concerné (tu dois savoir l'isoler)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
224
Et si tu ne l'as pas fait par code, mais manuellement : dis-nous quelles critères exacts tu as choisis pour ces mises en forme conditionnelles, bien évidemment !


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
4
Si tu n'as que deux mises en forme conditionnelle, tu vas pouvoir prévoir ce cas et tu ne seras plus embêté. Parce que je suppose que tu dois avoir une MFC du genre Valeur de la cellule < chiffre. Dans ce cas, une cellule vide se colorie.

Il faut donc que ta première MFC soit : Valeur de la cellule égale à ="", sans mise en forme. Comme ça, tes cellules vides ne seront plus impactées (la MFC est exclusive. Si la 1ere condition est remplie, application de la mise en forme et les 2 autres ne sont pas contrôlées).

Molenn
Messages postés
16
Date d'inscription
mardi 18 octobre 2005
Statut
Membre
Dernière intervention
3 mars 2010

Bon alors,
je mets une image :



J'espères que vous comprendrez et pourrez m'aider!

Damien
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
224
Je te félicite...
On y voit tout, dans ta belle image, sauf les valeurs contenues !.... (celles qui provoquent le mise en forme).
Et comment t'étonner de la zone rouge ? Si elle contient des valeurs non comprises dans la plage G17 à J17 (que l'on ne voit pas, en plus) ...
J'ai essayé de gratter (à tout hasard) mon écran, pour voir ce qu'ilo y avait en dessous de tes fenêtres de mise en forme, mais en vain (impossible !).


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
16
Date d'inscription
mardi 18 octobre 2005
Statut
Membre
Dernière intervention
3 mars 2010

LOL !!!

Tiens, voila une autre image, mais je ne suis pas sur que c'est ce que tu attends!

Par contre, pour essayer d'être plus clair, ce que je veux faire, c'est :
Quatre Mise en forme dans cet ordre :

1- si la cellule est vide : pas de remplissage
2- si la cellule est compris dans les valeurs "correctes" : remplissage VERT
3- si la cellule est compris dans les valeurs "acceptables" : remplissage ORANGE
4- si la cellule N'EST PAS compris dans les valeurs "acceptables" : remplissage ROUGE

De plus, je voudrais savoir si il est possible d'incrémenter une nouvelle ligne (vide)avec ces conditions, lorsque je remplie la dernière ligne vide?

Euh!! suis pas sur d'être compréhensible là non plus!!!
Messages postés
16
Date d'inscription
mardi 18 octobre 2005
Statut
Membre
Dernière intervention
3 mars 2010

Oups!

J'ai oublié l'image!
Messages postés
16
Date d'inscription
mardi 18 octobre 2005
Statut
Membre
Dernière intervention
3 mars 2010

je crois pouvoir le faire avec des instruction IF ...Then ... Eslse... Endif

Mais je n'y connait rien!

Donc je cherche aussi en // sue le net, mais comprend pas grand chose!
Messages postés
16
Date d'inscription
mardi 18 octobre 2005
Statut
Membre
Dernière intervention
3 mars 2010

Si j'ai bien compris ce que j'ai lu, avec un code comme celui-ci, je devrait m'approcher de ce que je veux!

Bon il me manque les code de couleur! Ou les trouver?
Il me manque aussi les comparateurs : "Compris entre" et "Nono compris entre"

mon Code:

if empty("B36:B44") then selection.Interior.ColorIndex = 'pas de remplissage

Elseif Range("B36:B44")<5 Then selection.Interior.ColorIndex = 4 'Vert


Elseif Range("B36:B44")>5 Then selection.Interior.ColorIndex = 3 'Rouge

Else Range("B36:B44")<>5 Then selection.Interior.ColorIndex = ' Orange


End if
Messages postés
16
Date d'inscription
mardi 18 octobre 2005
Statut
Membre
Dernière intervention
3 mars 2010

Bon finalement, j'ai débogger et je suis arrivé à ce code là:


If Range("B36:B44") "" Then Selection.Interior.ColorIndex 10 'pas de remplissage

ElseIf Range("B36:B44") < 5 Then Selection.Interior.ColorIndex = 4 'Vert


ElseIf Range("B36:B44") > 5 Then Selection.Interior.ColorIndex = 3 'Rouge

ElseIf Range("B36:B44") <> 5 Then Selection.Interior.ColorIndex = 15 ' Orange


End If

mais ça marche pas !
je l'ai mis dans :


Je me suis trompé? j'ai oublié quelque chose?
Messages postés
16
Date d'inscription
mardi 18 octobre 2005
Statut
Membre
Dernière intervention
3 mars 2010

Youppie!!!!!

C'est pour le moment, ce qui s'approche le plus de mes besoins!!!!

C'est super et beaucoup plus simple que de la macro!!

Bon Maintenant, il faut que je décortique ces 3 formule pour les appliquer au reste de mon tableaux!


Merci