Changement de couleur si valeur différente
#1
Débutant XLPages

Inscription: 27/03/2012

Messages: 1

Système d'exploitation:
PC
Version Excel utilisée:
2003, 2007, 2010
Posté le : 27-03-2012 10h33
 Bonjour,

je ne suis pas un expert Excel et j'aurai besoin de votre aide..

Je gère un tableau Excel remplis de milliers de prix que je met à jour à la main chaque semaine. Nous sommes plusieurs à visionner ce document et j'aurai aimé savoir si on pouvait mettre une cellule d'une certaine couleur si sa valeur a changé.

Par exemple, le prix d'un produit diminue, sa couleur passe au vert, la semaine d'après, sa valeur reste la même, pas de couleur. La semaine suivante, son prix augmente, sa couleur passe au rouge.

Cela permettrait de gagner un temps considérable à mon équipe chargée des achats.

Merci pour votre aide.


Hors Ligne
Rapport   Haut 

Re: Changement de couleur si valeur différente
#2
Aspirant XLPages

Inscription: 23/03/2012

Messages: 22

Système d'exploitation:
PC
Version Excel utilisée:
2010 - 32bits
Posté le : 30-03-2012 21h53
Bonsoir insitupr2i,

prend l'habitude de mettre un fichier en pièce jointe s'il te plaît, sinon personne pourra t'aider.

Je te remet le mien avec des mises en formes conditionnelles. J'éspère aussi que tu utilise Excel 2007, sinon je suis mal parti.

Clique sur Accueil, à droite tu as Mise en forme conditionnelle, clique dessus puis sur Gérér les règles; dans la liste déroulante sélectionne "Cette feuille de calcul" puis sur Modifier pour voir les formules.

Regarde si ça te convient.




Pièce jointe:
zip mise en forme conditionnelle.zip   [ Taille: 43.88 Ko - Téléchargements: 3951 ]

Jacky - coupdepouce.mabulle.com
Hors Ligne
Rapport   Haut 

Re: Changement de couleur si valeur différente
#3
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 01-04-2012 13h44
 Bonjour à tous,

Je n'ai pas compris la même chose que Jacky donc une autre proposition au cas où (et comme le dit Jacky un minimum de desciption des données évite les supputations inutiles et permet de proposer une aide plus adaptée)

Si tu veux suivre les modifications d'une semaine sur l'autre, cela signifie que tu dois conserver quelque part dans le fichier les valeurs de la semaine précédente avant de renseigner les nouveaux prix.




Comme tu le verras dans le fichier joint, une approche consisterait à copier les données un peu plus loin sur la droite, ou sur un autre onglet, et seulement après modifier les prix de la colonne C, les alertes étant fournies par une formule et une mise en forme conditionnelle colonne E.

La formule colonne E:
=SI(A2<>"";SIERREUR(RECHERCHEV(A2;Historique;3;FAUX);"Nouvel Article");0)
Cette formule utilise une zone nommée Historique, établie avec cette formule:
=DECALER(Feuil1!$I$2;;;NBVAL(Feuil1!$I:$I)-1;3)
Comme décrit dans cet article, cette zone est dynamique, ce qui permet de ne pas avoir à redéfinir la zone chaque semaine en cas de suppression ou d'ajout d'articles dans la base
RECHERCHEV(A2;Historique;3;FAUX)

Cette fonction RECHERCHEV() va chercher le code article situé en A2, dans la zone  nommée Historique, remonter la valeur se trouvant dans la colonne 3 de cette zone (donc l'ancien prix), le dernier paramètre "FAUX" de la formule indique que la fonction cherche la valeur exacte du code article et pas une valeur approchée. L'ordre les articles n'a aucune importance. (voir l'aide Excel sur cette fonction RECHERCHEV()).
Si RECHERCHEV() ne trouve pas l'équivalence, elle renvoie #N/A, dans ce cas nous sommes en présence d'un nouvel article non présent dans l'historique. C'est pourquoi le résultat de RECHERCHEV() est testé avec la fonction SIERREUR()
SIERREUR(RECHERCHEV(A2;Historique;3;FAUX);"Nouvel Article")
c'est à dire si RECHERCHEV() renvoie une erreur, écrire "Nouvel article" si non renvoyer le résultat obtenu par RECHERCHEV().
(Pour versions antérieures à 2007, utiliser SI(ESTERREUR( ou SI(ESTNA(, la fonction SIERREUR n'existant pas dans ces versions)

Reste à traiter le cas des cellules vides dans la colonne A des références articles, avec la fonction SI():
SI(A2<>"";SIERREUR(RECHERCHEV(A2;Historique;3;FAUX);"Nouvel Article");0)

c'est à dire si A2 est différent de vide, je mets ma formule, si non je mets zéro.

Une fois cette formule mise en place, on a donc dans le fichier deux colonnes en vis à vis présentant le prix à mettre à jour et l'ancien prix. Une mise en forme conditionnelle permet facilement de mettre en couleur les modifications. 

En sélectionnant la cellule E2, choisir dans le ruban l'onglet Accueil puis cliquer sur mise en forme conditionnelle, puis "Nouvelle règle" (mode d'emploi adapté à Excel 2007 et +)
Dans la partie haute de la fenêtre qui s'ouvre choisir "Utiliser une formule pour déterminer etc...", puis dans la partie basse de cette fenêtre indiquer la formule dans la zone "Appliquer une mise en forme aux valeurs pour laquelle cette formule est vraie:"

La première formule :
=$E2="Nouvel Article"

dans ce cas mettre le libellé en rouge gras et le fond en rouge clair (ou autres couleurs :) ), valider. 
Le signe $ est placé devant le E pour figer la colonne, il n'y a pas de signe $ devant le numéro de ligne afin de laisser la ligne variable et d'appliquer cette formule sur toutes les lignes de la plage en colonne E. (voir éventuellement cet article)
Dans la fenêtre on retrouve donc cette première règle, avec sur la droite une zone "s'applique à " permettant de renseigner la(les) plages de cellules où cette mise en forme va s'appliquer. Soit on laisse la cellule E2, et le fait de copier coller E2 vers le bas copiera dans les cellules d'en dessous aussi bien la formule que le format conditionnel, soit on modifie à la main cette zone, en prenant un peu de marge par rapport à la taille de la colonne (ici, j'ai mis =$E$2:$E$50, attention de ne pas oublier les $)

Pour mettre en place la deuxième formule, cliquer à nouveau dans le ruban sur le bouton Mise en forme conditionnelle, puis "Gérer les règles", puis "Nouvelle règle", "Utiliser une formule etc.) et la formule:
=$C2<$E2

cette fois mettre en vert

Dernière formule, même processus puis:
=$C2>$E2

alors mettre en rouge.

Le processus est terminé, il ne reste plus qu'à copier la cellule E2 ves le bas jusqu'à la fin du tableau (voire un peu plus loin pour laisser de la marge)
A partir de maintenant, chaque saisie dans la colonne C activera l'alerte en couleur colonne E.

Pour la semaine suivante, les formules et la mise en forme conditionnelle étant déjà installées, il n'y aura rien d'autre à faire que copier les données de la semaine précédente dans l'emplacement historique, puis modifier les prix.

Une astuce avec le filtre (pour Excel 2007 et + ) : Sélectionner la colonne E, menu données/Filtre, puis sur la petite flèche de filtre qui apparaît en E1, choisir "Filtrer par couleur", pour ne voir par exemple que les prix qui ont augmenté ou baissé.
Pour retirer le filtre, sélectionner à nouveau la petite flèche cellule E1, puis choisir "Retirer le filtre de ..."
Attention, pour la semaine suivante, il faudra bien vérifier qu'il n'y a pas de filtre actif avant de faire le copier coller dans l'historique. Visuellement on repère la présence d'un filtre quand les numéros des lignes sont en bleu (normalement ils sont en noir)

Normalement le processus est assez simple pour l'adapter à ton propre fichier, mais si tu cales reviens avec tes questions, et surtout comme le disait Jacky un petit extrait de quelques lignes de ton fichier (sans données confidentielles).
Pour la suite, si vous êtes plusieurs à travailler sur ce fichier, le risque que je vois est que l'on ne sache pas si un collègue a déjà mis à jour l'historique, auquel cas il ne faut surtout pas qu'une autre personne refasse un copier/coller!

Une idée consisterait à utiliser une macro, qui noterait par exemple le nom de la personne et la date de la mise à jour afin que chaque utilisateur ait l'info, on peut même bloquer (ou alerter) par exemple si la dernière mise à jour est inférieure à 7 jours, ou si on n'est pas lundi, ou autre. On peut aussi sauvegarder le fichier automatiquement avant, avec son nom+ la date du jour. (Ce n'est pas forcément de la grosse cavalerie, mais il faudra sans doute se prémunir contre une mauvaise manipulation qui pourrait faire perdre le travail de mise à jour effectué par l'équipe)

En espérant que cela puisse t'aider, bon après-midi à tous,

mth



Pièce jointe:
xlsx prix2.xlsx   [ Taille: 11.98 Ko - Téléchargements: 1515 ]
Hors Ligne
Rapport   Haut 

Re: Changement de couleur si valeur différente
#4
Aspirant XLPages

Inscription: 23/03/2012

Messages: 22

Système d'exploitation:
PC
Version Excel utilisée:
2010 - 32bits
Posté le : 01-04-2012 17h54
Bonjour Mth,

c'est sympa de ta part d'avoir écrit ce petit tutoriel, très bien expliqué.

Je te remercie.

Bonne fin de journée à toi.


Jacky de Fontaineblau.


Jacky - coupdepouce.mabulle.com
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes