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

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 !

lienad

XLDnaute Occasionnel
Bonjour,
Je souhaiterais "comparer" 2 listes et identifier les éléments différents.
Vous trouverez un exemple joint
Cdt
 

Pièces jointes

Bonsoir,

Je suis désolé d'insister. J'ai copié la formule sur la plage précisée, sans aucun résultat.
Quoi qu'il en soit la formule ne permettra pas de générer une liste de valeur.
Dans l'attente et merci de votre compréhension
 
Bonjour lienad, JHA, le forum,
Quoi qu'il en soit la formule ne permettra pas de générer une liste de valeur.
Voyez ce fichier (2) avec cette formule matricielle en K4 :
Code:
=INDEX(H$1:H$8;PETITE.VALEUR(SI($I$4:$I$8*ESTERREUR(1/SOUS.TOTAL(3;DECALER($B$4:$F$4;EQUIV($H$4:$H$8;$A$4:$A$7;0)-1;)));LIGNE($H$4:$H$8));LIGNES(K$4:K4)))
A valider par Ctrl+Maj+Entrée et propager sur K4:L8.

Les valeurs d'erreur sont masquées (police blanche + MFC).

Bonne journée.
 

Pièces jointes

Re,

Notez qu'on peut utiliser le VBA, voyez le fichier joint et cette fonction (matricielle) :
Code:
Function Compare(plage1 As Range, plage2 As Range)
Dim t, d As Object, i&, ncol%, j%, a, b
t = plage1
Set d = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(t)
    If t(i, 2) <> "" Then d(t(i, 1)) = t(i, 2)
Next i
t = plage2
ncol = UBound(t, 2)
For i = 2 To UBound(t)
    If d.exists(t(i, 1)) Then
        For j = 2 To ncol
            If t(i, j) <> "" Then d.Remove t(i, 1): Exit For
        Next j
    End If
Next i
ReDim t(plage1.Rows.Count - 1, 1) 'base 0
If d.Count Then
    a = d.keys: b = d.items
    For i = 0 To UBound(a): t(i, 0) = a(i): t(i, 1) = b(i): Next i 'transposition
End If
For i = d.Count To UBound(t): t(i, 0) = "": t(i, 1) = "": Next i
Compare = t 'matrice
End Function
Mais notez que le recalcul de la feuille prend 3,2 millisecondes chez moi.

Contre 0,2 milliseconde avec le fichier (2) du post précédent, 16 fois plus rapide.

A+
 

Pièces jointes

- 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

Réponses
40
Affichages
2 K
Réponses
4
Affichages
254
Réponses
16
Affichages
391
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…