Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un 0

Roquetto

XLDnaute Nouveau
Bonjour a tous,

Voila j'ai un probleme de mise en couleur de cellule et ai besoin de votre aide.
J'ai un tableau avec des chiffres par mois:

Mars Avril Mai Juin Juillet Aout
20gerg0bbb16bb15ggt0ggt21

Ces chiffres representent les prix de vente d'un produit et j'aimerais mettre en vert un prix s'il est superieur au precedent, en rouge s'il est inferieur.
Le probleme est que les "0" viennent compliquer la tache. En effet, ceux-ci representent des mois "sans vente" et non pas que le produit a ete vendu a 0 euros.
Resultat, Mai et Aout se mettent ici en verre, ce qui n'est pas correct pour Mai par exemple (vente a 16 euros alors que la derniere vente a ete de 20 euros).

Mon tableau est beaucoup plus grand, et pour beaucoup de produits, comment puis-je donc faire cela de maniere automatique (prendre en compte le premier chiffre precedent different de 0?). Est-ce que cela est possible?
Sinon, comment juste poser une condition "si le chiffre precedent = 0, alors ne mettre aucune couleur"

Merci d'avance pour votre aide,

Passez une tres bonne journee,

Cordialement.
 
Dernière édition:

dionys0s

XLDnaute Impliqué
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

Bonjour Roquetto, bonjour le forum

Ce qui serait bien, ce serait que tu mettes un fichier exemple en pièce jointe de ton message. Ce sera plus facile pour t'aider comme ça.

A+
 

Roquetto

XLDnaute Nouveau
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

Bien sur, voila.

Comme vous pouvez le voir, des cellules se mettent en vert parce que je ne sais pas comment expliquer a Excel "non je ne veux pas la precedente valeur, je veux la precedente valeur NON NULLE".

:)
 

Pièces jointes

  • Remplissage couleur.xlsx
    11.2 KB · Affichages: 39
  • Remplissage couleur.xlsx
    11.2 KB · Affichages: 46
  • Remplissage couleur.xlsx
    11.2 KB · Affichages: 44

piga25

XLDnaute Barbatruc
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

Bonjour,

Voir si cela peur convenir.
 

Pièces jointes

  • Remplissage couleur.xlsx
    13.7 KB · Affichages: 51
  • Remplissage couleur.xlsx
    13.7 KB · Affichages: 59
  • Remplissage couleur.xlsx
    13.7 KB · Affichages: 58

Roquetto

XLDnaute Nouveau
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

Merci pour ta reponse Piga25, c'est mieux. Neanmoins, le prix baisse entre Avril et Juin (pas de vente en mai), je n'ai plus de couleur vert mais pas non plus de couleur rouge qui me l'indique...
 

JBARBE

XLDnaute Barbatruc
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

Bonjour,

Peut-être avec cette macro ( s'il y a plusieurs lignes et colonnes modifier (i & j )) !!!

Bonne journée !
 

Pièces jointes

  • Remplissage couleur.xls
    77 KB · Affichages: 51

Roquetto

XLDnaute Nouveau
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

Merci beaucoup JBARBE, cela fonctionne parfaitement pour mon exemple en effet, mais ma realite pose d'autres problemes que je n'ai pas mentionne.
En effet, parfois il y a deux, trois, quatre mois de non-ventes pour un produit. J'ai donc essaye de rajouter des lignes a la macro avec des:
"ElseIf Cells(i, j - 9) <> 0 And Cells(i, j - 9) < Cells(i, j)"
Pour aller plus loin, mais cela ne fonctionne pas, j'ai le droit a un:

"Run-time error "1004
Application-defined or object-defined error" :mad:

Merci d'avance,

Bonne journee. :)
 

Pièces jointes

  • Remplissage couleur V2.xlsx
    12.9 KB · Affichages: 30

Roquetto

XLDnaute Nouveau
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

Ah non en fait cela fonctionne, mais la cellule se met alors en couleur en fonction de 9 cellules precedentes
On a une vente a 600 en mars, une a 500 en avril, pas en mai, 550 en juin, eh bien la cellule de juin va se mettre en rouge, en fonction du moi de mars, a cause de mon ajout:
"ElseIf Cells(i, j - 9) <> 0 And Cells(i, j - 9) < Cells(i, j)" qui etait cense me faire passer 2 mois sans vente.

De plus, les premieres colonnes colorees sont toutes en rouge (les deux premieres lorsque je vais jusque j-9, les 3 premieres lorsque je vais jusque j-12 etc...).

Merci d'avance,

Cordialement
 

JBARBE

XLDnaute Barbatruc
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

Bonsoir,

En cliquant sur le bouton coloriage !

La version 2 ne colorie pas la première cellule si celle-ci n'a pas de valeur précédemment !

bonne soirée !
 

Pièces jointes

  • Remplissage couleur V2 (version 1).xlsm
    27.8 KB · Affichages: 26
  • Remplissage couleur V2 (version 2).xlsm
    28 KB · Affichages: 28
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

Bonjour Roquetto, JBARBE, à tous,

Un essai avec une mise en forme conditionnelle.

La formule est:
Code:
=SI(OU(F5=0;MOD(COLONNE(F5);3)<>1);0;SIGNE(F5-INDEX($D5:E5;-3+MAX(SI( ((MOD(  COLONNE($D5:E5);3)=1)  *  ($D5:E5>0))=1;COLONNE($D5:E5);"")))))=-1
Le -1 final correspond au cas ou la valeur est inférieure à la précédente (avec exclusion des mois sans vente)
Le -1 final est remplacé par 0 en cas d'égalité du prix unitaire, ou pas de vente ou cellule ne correspondant pas à une colonne de prix
Le -1 est remplacé par 1 pour la cas où le prix unitaire est supérieure au précédent.

Pour appliquer la MFC:
  • sélectionner le tableau à partir de la cellule F5 (soit F5:V7)
  • saisir trois règles avec la formule ci-dessus ( cas -1, 0 , 1) -> le cas -1 correspond à un fond rouge, le cas 0 correspond à "sans mise en forme' et le cas 1 correspond à un fond vert.
 

Pièces jointes

  • Remplissage couleur v1.xlsx
    11 KB · Affichages: 33

Roquetto

XLDnaute Nouveau
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

:''''''''''''''''''''''''''''''''''''''''''(((

Bonjour, merci a vous deux mais cela ne fonctionne toujours pas.

Mapomme: rien ne se met en couleur, j'ai pourtant mis la formule, change les lettres des cellules pour que cela corresponde a mon tableau, mis le "conditionnal formating" de la formule en rouge - vert - rien. En fait, pour les quantites vendues, je parle dans mon veritabel tableau en tonne (encore desole de ne pas avoir ete clair des le debut), et donc parfois, j'ai des ventes de 0.650 Tonnes.
J'ai donc change dans la formule les "<>1"l en "<>0" ??

JBARBE: En prenant ton code VBA et en le transposant sur mon fichier, j'ai un message d'erreur "Run-time error '1004' Method 'Range' of object '_global' failed", je clique donc sur "debug" et il me met en jaune la ligne: "Range("plage").Interior.ColorIndex = xlNone", peux-tu me dire a quoi correspond-t-elle? Qu veux-t-elle dire?
Si je l'enleve, cela fonctionne, sauf pour les premieres ventes: tous les premiers prix unitaires se mettent en rouge :/.

Merci d'avance pour vos reponse,

Bonne journee, ne vous cassez pas trop la tete,

Roquetto.
 

JBARBE

XLDnaute Barbatruc
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

:''''''''''''''''''''''''''''''''''''''''''(((


JBARBE: En prenant ton code VBA et en le transposant sur mon fichier, j'ai un message d'erreur "Run-time error '1004' Method 'Range' of object '_global' failed", je clique donc sur "debug" et il me met en jaune la ligne: "Range("plage").Interior.ColorIndex = xlNone", peux-tu me dire a quoi correspond-t-elle? Qu veux-t-elle dire?
Si je l'enleve, cela fonctionne, sauf pour les premieres ventes: tous les premiers prix unitaires se mettent en rouge :/.

Roquetto.

Range("plage").Interior.ColorIndex = xlNone >>>> Correspond aux cellules nommées plage non coloriées !

Parce-que vous avez oublier de nommer les cellules (plage) dans mon fichier ( Range("C6:AN19")après les avoir selectionnés>>> Formules >>> Définir un nom >>> inscrire> plage !!!!

Attention aussià >>> For i = 6 To 19 (correspondants aux lignes 6 à 19) et >>>>For j = 4 To 40 Step 3 correspondants aux colonnes 4 à 40 !!!



Bonne soirée !
 
Dernière édition:

Roquetto

XLDnaute Nouveau
Re : Mise en couleur de cellules en fonction de la cellule precedent sauf si c'est un

Bonjour a tous,

Desole JBARBE, j'etais parti trop vite. J'ai encore un probleme.:eek: Dans ton fichier (et donc dans le mien), version 2, les premieres cellules a ce mettre en couleur sont toujours vertes non? Par exemple, Product 13, avril 2013: 588 euros, mai 2013: 530 euros et pourtant la case se met en vert alors qu'elle devrait etre en rouge.

Merci d'avance,

Cordialement.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 499
Messages
2 110 249
Membres
110 711
dernier inscrit
chmessi