XL 2016 Cellule change de couleur si la valeur existe dans une autre cellule d'un autre onglet

sum01

XLDnaute Occasionnel
Bonjour le forum,
Je cherche à automatiser un changement de couleur d'une cellule si valeur contenue dans celle-ci existe bien dans la cellule d'un autre onglet. Ceci pour faciliter l'analyse visuelle.
J'ai essayé de partir sur une piste avec le format conditionnel mais cela ne fonctionne pas à 100%. Par ailleurs, il faudrait répliquer la formule sur toutes les colonnes (le fichier de production peut contenir plusieurs dizaine de colonne.
Dans le fichier ci-joint:
La feuille "contrôle" possède dans le champ A plusieurs produits. Une macro va identifier si le produit existe dans la feuille "inventaire" en D. La macro cherche des chaînes de caractère. Elle va donc ramener plusieurs propositions en B,D, etc... autant de fois que nécessaire. C'est l'utilisateur qui se chargera de vérifier manuellement le % de ressemblance. Le fichier de production est vraiment tordu... et contient plus de 1000 produits. Pour me faciliter la tâche j'avais imaginer de filtrer en mettant en couleur les cellules dans la feuille "contrôle" qui contiennent exactement le nom récupéré de la feuille "inventaire" par rapport au champ. Mais ma formule modifie les champs vides ce qui n'est pas juste et par ailleurs je devrais la répliquer en C, en D, etc... autant de fois que cela est nécessaire. Existe-t-il un moyen plus simple en passant par un code VBA ?
Merci d'avance et très bon week-end à toutes et tous
 

Pièces jointes

  • Cellule changement de couleurs.xlsx
    11.6 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Sum,
Pas très clair pour moi.
Si j'ai bien compris, si en colonne B ...xx je trouve une chaine strictement identique à la chaine en Colonne A même ligne alors je la colore.
Si c'est bien ça, alors on peut le faire en MFC avec :
VB:
=ET(B1<>"";B1=$A1)
J'ai mis Appliqué à : =$B$1:$Z$2000 pour limiter la plage.
 

Pièces jointes

  • Cellule changement de couleurs.xlsx
    10.4 KB · Affichages: 5

sum01

XLDnaute Occasionnel
Bonjour Sum,
Pas très clair pour moi.
Si j'ai bien compris, si en colonne B ...xx je trouve une chaine strictement identique à la chaine en Colonne A même ligne alors je la colore.
Si c'est bien ça, alors on peut le faire en MFC avec :
VB:
=ET(B1<>"";B1=$A1)
J'ai mis Appliqué à : =$B$1:$Z$2000 pour limiter la plage.
Bonjour Sylvanu,
Merci pour ta réponse.
Je me rends compte que mon fichier exemple est "foireux" et m'en excuse pour cela car il ne correspond pas du tout à mon explication du problème ci-avant. Je viens de le modifier.
- Les feuilles qui doivent être comparées et réconciliées sont contrôle et inventaire.
- Champs B, D, etc... de la feuille contrôle sont comparées au champ D de la feuille inventaire.
- Au départ, j'ai un produit Ferrari CA en stock (champ A feuille contrôle) et dans ma base (indice), j'ai deux types de Ferrari. La macro va comparer le champ qui contient la chaîne de caractère Ferrari CA avec le champ D de la feuille indice et ramène dans la feuille contrôle deux propositions Ferrari California et Ferrari Aperta (puisque elle compare des bouts de chaînes des caractères; elle se base alors sur Ferrari). Je dois donc procéder à un petit contrôle manuel pour valider quel type de Ferrari correspond effectivement à Ferrari CA par rapport à la feuille indice. J'en déduis que c'est Ferrari California et je reporte manuellement cette information au fur et à mesure dans la feuille inventaire.
- Je répète cette procédure plusieurs fois par mois avec des données indice et contrôle qui peuvent changer.
- Pour faciliter le traitement, le fait de modifier la couleur de la cellule de la feuille contrôle (champs B, D, et ...) par rapport à ma feuille inventaire à la condition que les chaînes de caractères soient strictement identiques entre la feuille contrôle et la feuille inventaire devraient m'aider pour me signaler par exemple d'un mois à l'autre que cette valeur a déjà été contrôlée 1x.
Merci encore pour votre aide.​

 

Pièces jointes

  • Cellule changement de couleursV1.xlsx
    11.8 KB · Affichages: 7

sylvanu

XLDnaute Barbatruc
Supporter XLD
Sorry, je ne vois aucune solution.
B8 = Jaguar MK1 comment savoir qu'il ne doit pas être coloré ? Puisque présent dans Inventaire.
Parce ce qu'il existe déjà en B7 me direz vous.
Alors pourquoi Jaguar 420 en C7 n'est pas coloré puisque pas encore présent mais bien présent dans Inventaire.
Sans savoir quel choix vous avez fait le mois dernier, je ne vois pas comment s'en sortir.

Peut être qu'un esprit plus malin va passer par ici . :)
Ah, je viens de voir qu'il est passé par ici ! 😅 Bonjour Wayki.
 

sum01

XLDnaute Occasionnel
Sorry, je ne vois aucune solution.
B8 = Jaguar MK1 comment savoir qu'il ne doit pas être coloré ? Puisque présent dans Inventaire.
Parce ce qu'il existe déjà en B7 me direz vous.
Alors pourquoi Jaguar 420 en C7 n'est pas coloré puisque pas encore présent mais bien présent dans Inventaire.
Sans savoir quel choix vous avez fait le mois dernier, je ne vois pas comment s'en sortir.

Peut être qu'un esprit plus malin va passer par ici . :)
Ah, je viens de voir qu'il est passé par ici ! 😅 Bonjour Wayki.
Rebonjour Sylvanu,
Votre question est très pertinente. En B8 je ne l'ai pas colorée car je dois me baser ce qui est renseigné dans la cellule A8, Jaguar 420. Or, Jaguar 420 n'existe pas dans mon inventaire et ne peut colorer aucune cellule pour cette ligne.
On peut partir du principe que la feuille inventaire est la situation de départ et qu'à cet instant la situation devra être celle simulée dans mon dernier fichier avec les couleur.
 

sum01

XLDnaute Occasionnel
Bonjour,
Au lieu de faire comme ça, peut être pouvons nous avoir la macro afin de la modifier pour avoir une seule occurrence dans la feuille contrôle ?
A +
Bonjour Wayki,
Voici le fichier proposé par Fanfan38 que j'avais ensuite adapté sur notre fichier de production qui contient des données différentes. La macro donne de très bons résultats étant donné que les vrais fichiers contiennent des données externes de sources différentes dont je ne suis pas propriétaire et ne peux donc pas les modifier. Par exemple, la donnée que je reçois et que je dois tenter d'analyser pourrait être Ferr C à moi de faire le lien avec Ferrari California et de maintenir manuellement à jour un onglet inventaire.
Ici sur le forum, les exemples sont fictifs et comme les deux thématiques sont différentes bien que liées, les fichiers ne sont pas construits de la même manière. Il faudra peut-être que je revois les fichiers ci-joints pour avoir des données uniformes permettant ainsi un process complet de la macro ?
Merci bcp pour votre aide.
 

Pièces jointes

  • Chaines de caractèresV4 (7) (3).xlsm
    22.6 KB · Affichages: 5

Wayki

XLDnaute Impliqué
Bonjour le fil,
J'ai pas beaucoup de temps donc j'ai pas approfondi, mais vois la macro modifiée ci-joint.
On pourrait très bien la faire fonctionner à l'envers si ferr c venait à être dans l'onglet inventaire.
A +
 

Pièces jointes

  • Chaines de caractèresV4 (7) (3).xlsm
    20.7 KB · Affichages: 11

sum01

XLDnaute Occasionnel
Bonjour le fil,
J'ai pas beaucoup de temps donc j'ai pas approfondi, mais vois la macro modifiée ci-joint.
On pourrait très bien la faire fonctionner à l'envers si ferr c venait à être dans l'onglet inventaire.
A +
Bonjour Wayki,
merci pour votre réponse
Je n'ai pas réussi à faire fonctionner le nouveau code sur les autres données. Pour une raison que j'ignore, cela fonctionne sur Ferrari CA mais pas sur les autres valeurs.
Bon week-end à vous
 

sum01

XLDnaute Occasionnel
Bonjour à tous,
Je reprends une ancienne discussion à laquelle je souhaiterais apporter une petite modification.
La macro renvoie un message en créant un rapport d'incident avec la liste des onglets en rouges. J'ai tenté de modifier la macro afin que le rapport se crée également avec un message lorsque tous les onglets sont ok (verts). Sauf que le rapport créé reprend tous les onglets verts au lieu d'un seul message global.
a) si au moins 1 onglet rouge (ou plus) - rapport avec commentaire pour tous les onglets rouges. On ne tient pas compte des onglets verts
b) si tous les onglets sont verts - rapport avec un seul message que tout est ok

Merci beaucoup pour votre aide et bon wk
 

Pièces jointes

  • Onglets_couleursV8.2_tableau_Final.xlsm
    29.1 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
313 296
Messages
2 096 923
Membres
106 787
dernier inscrit
Rachid ALIOU