Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 comparer 2 listes - Formule matricielle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Gen Rose

XLDnaute Impliqué
Supporter XLD
Bonjour à tous 🥰

En toute honnêteté, j'ai cherché et survolé les autres fils semblables à celui que je créé sans creuser énormément car ce sont souvent des solutions VBA personnalisées pour le fichier spécifiquement et je ne suis pas du tout au niveau qu'il faut pour cannibaliser ces codes.

De plus, je cherche du matriciel et de préférence inclus dans la mise en forme conditionnelle. Je commence à avoir des intuitions de comment faire une formule.
J'ai déjà eu de l'aide pour un autre fichier mais je ne vois vraiment pas comment appliquer la formule dans cette situation (je ne suis pas certaine même que cela s'applique).
Il y a des tonnes de tutos et je ne sais plus par où commencer ou de quelle façon! Je suis réellement à la base des bases. 🥲

Il s'agit de comparer 2 tableaux selon une colonne. À partir de là, il faut comparer 3 données par lignes pour savoir s'il y a des différences.

Je vous remercie sincèrement pour votre temps 🍁
 

Pièces jointes

Solution
Re,
Le doute m'a assailli quand je l'ai écrit.
Donc en PJ seules les cellules différentes pour un même "P" sont colorées, et non toute la ligne.

Et une V3 sont il y a les lignes erronées en orange, et les cellules erronées en rouge.
Bonjour,
Une proposition avec une colonne supplémentaire et une MFC
 

Pièces jointes

Bonjour MiniGen,
Un point ambigüe : Dois t-on vérifier cellule par cellule et mettre en rouge, ou si toute la ligne n'est pas identique mettre en rouge.
Dans la PJ j'ai opté pour la seconde hypothèse, si une seule cellule est différente toute la ligne est mis en exergue. Sans formule matricielle, avec :
VB:
=SIERREUR(SI(ET( INDEX(ColB;EQUIV($A2;ColA;0))=$B2; INDEX(ColC;EQUIV($A2;ColA;0))=$C2; INDEX(ColD;EQUIV($A2;ColA;0))=$D2; INDEX(ColE;EQUIV($A2;ColA;0))=$E2)=FAUX;1;0);1)
Pour les MFC, il faut nommer les colonnes ABCDE de la feuille ListeC.
( la deuxième MFC remet le blanc si toutes les cellules sont vides. )
 

Pièces jointes

Re,
Le doute m'a assailli quand je l'ai écrit.
Donc en PJ seules les cellules différentes pour un même "P" sont colorées, et non toute la ligne.

Et une V3 sont il y a les lignes erronées en orange, et les cellules erronées en rouge.
 

Pièces jointes

Dernière édition:
Bonjour vous deux ☺️

Un gros merci @Jacky67 de m'avoir répondu si rapidement!

Je crois que je n'avais pas mentionnée clairement que je souhaitais vérifier les différences entre les cellules précisément et ce, par ligne. En effet, seules les différentes cellules doivent être repérés. J'ai été très surprise que @sylvanu ait compris !!

Donc vraiment merci beaucoup @sylvanu ta dernière réponse est absolument parfaite 🙌; je la conserve précieusement.

Bonne journée 🥰
 
Quelques explications sur les formules. La formule doit mettre 1 s'il n'y a pas égalité ou si l'item n'est pas trouvé. Avec 1 la MFC est appliquée.
1- Déjà trouver sur quelle ligne de ListeC se trouve l'item en colonne A de ListeCV :
VB:
EQUIV($A2;ColA;0)
2- Lire l'item de la colonne considérée sur la ligne dans ListeCV, par ex avec la colonne B :
Code:
INDEX(ColB;EQUIV($A2;ColA;0))
3- Regarder si cette valeur est égale à la même cellule de ListeCV :
Code:
SI( INDEX(ColB;EQUIV($A2;ColA;0))=$B2;0;1)
4- EQUIV donne une erreur #N/A si l'item en colonne A n'est pas trouvé. Pour supprimer cette erreur on utilise SIERREUR et dans ce cas on met 1 :
Code:
=SIERREUR(SI( INDEX(ColB;EQUIV($A2;ColA;0))=$B2;0;1);1)
Et on réitère cette formule sur les colonnes BCDE, la MFC met rouge si erreur.
5- Pour colorer toute la ligne il suffit de faire un ET entre les 4 équations INDEX :
Code:
INDEX(ColB;EQUIV($A2;ColA;0))=$B2  ( Equation1 )
INDEX(ColC;EQUIV($A2;ColA;0))=$C2  ( Equation2 )
INDEX(ColD;EQUIV($A2;ColA;0))=$D2  ( Equation3 )
INDEX(ColE;EQUIV($A2;ColA;0))=$E2  ( Equation4 )
Et on obtient :
Code:
=SIERREUR(SI(ET(Equation1; Equation2;Equation3; Equation4)=FAUX;1;0);1)
Le ET donnera FAUX si une des équations donne FAUX, c'est à dire si une des cellules n'a pas la même valeur que que dans ListeC.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Comparer 2 onglets
Réponses
8
Affichages
535
  • Question Question
Microsoft 365 Aide Excel formule
Réponses
4
Affichages
374
Réponses
3
Affichages
816
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…