Comparer les valeurs de deux colonnes

jhmoreau

XLDnaute Nouveau
Bonjour,


J'ai deux colonnes contenant des codes barres (soit uniquement des chiffres, par ex : 1150792400, soit une lettre suivie de chiffres, ex : N10139303)

L'une contient 1.043 CB, l'autre 909.

Je sais que de nombreux CB sont communs aux deux colonnes.

Mon objectif est d'obtenir dans une troisième colonne uniquement les valeurs de la colonne A n'existant pas dans la colonne B.

C'est une sorte d'opération booléenne : (valeurs colonne A) SAUF (valeurs colonnes B).

Bien entendu je ne sais pas comment m'y prendre pour réaliser cette comparaison avec Excel

Quelqu'un pourrait-il m'indiquer la fonction à utiliser ?

Merci pour votre aide précieuse,

Bien cordialement,

JH Morneau

PS : fichier joint avec les données
 

Pièces jointes

  • comparaison_colonnes.xlsx
    28.3 KB · Affichages: 459

manikam

XLDnaute Junior
Re : Comparer les valeurs de deux colonnes

bonjour,

essai cette formule dans C1
Code:
=SI(NB.SI(B2:B1044;A2)<>0;"";A2)

puis tire vers le bas

voir fichier joint
 

Pièces jointes

  • Copie de comparaison_colonnes.xlsx
    49.7 KB · Affichages: 632
Dernière édition:

jhmoreau

XLDnaute Nouveau
Re : Comparer les valeurs de deux colonnes

Merci pour vos réponses !

Malheureusement, la formule de manikam ne correspond pas à ce que je cherche car elle compare les cellules de chaque ligne.
Or deux valeurs communes peuvent se trouver sur deux lignes différentes. Par exemple, la valeur 1150183109
se trouve en A 143 et en B 167. Elle apparaît bien dans les deux colonnes, mais à une ligne différente.

Il me faudrait une comparaison de l'ensemble des valeurs contenues dans A1:A909 et l'ensemble de valeurs contenues dans B1:B1043
pour obtenir en résultat toutes les valeurs contenues dans B1:B1043 SAUF celles contenues dans A1:A909.

Avec opérateur booléen, cela donnerait un truc du style : valeurs de (B1:B1043) SAUF valeurs de (A1:A909)

Est-ce que c'est plus clair dit comme ça ?


Merci encore pour votre aide,

JH

PS : la formule de Jbobo ne semble pas donner de résultat, ou alors je l'ai mal utilisée ?
 

Fo_rum

XLDnaute Accro
Re : Comparer les valeurs de deux colonnes

Bonsoir,

la formule de JBOBO, comme celle-ci :
=SI(NB.SI(B:B;A1)=0;A1;"")
donnent les bonnes réponses sur les lignes concernées.
Si tu veux une liste sans vide, tu peux essayer la macro (adaptation de la seconde formule) :
Code:
Sub compare()
  Dim C As Range, Est As Range, l As Long
  For Each C In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    If Application.CountIf([B:B], C) = 0 Then
      l = l + 1
      Cells(l, 4) = C
    End If
  Next
End Sub
 

manikam

XLDnaute Junior
Re : Comparer les valeurs de deux colonnes

Merci pour vos réponses !

Malheureusement, la formule de manikam ne correspond pas à ce que je cherche car elle compare les cellules de chaque ligne.
Or deux valeurs communes peuvent se trouver sur deux lignes différentes. Par exemple, la valeur 1150183109
se trouve en A 143 et en B 167. Elle apparaît bien dans les deux colonnes, mais à une ligne différente.

Il me faudrait une comparaison de l'ensemble des valeurs contenues dans A1:A909 et l'ensemble de valeurs contenues dans B1:B1043
pour obtenir en résultat toutes les valeurs contenues dans B1:B1043 SAUF celles contenues dans A1:A909.

Avec opérateur booléen, cela donnerait un truc du style : valeurs de (B1:B1043) SAUF valeurs de (A1:A909)

Est-ce que c'est plus clair dit comme ça ?


Merci encore pour votre aide,

JH

PS : la formule de Jbobo ne semble pas donner de résultat, ou alors je l'ai mal utilisée ?

Bonjour

dans C2 on met la formule
Code:
 =SI(NB.SI($B$2:$B$1044;A2)<>0;"";A2)
cette formule cherche la valeur en A2 dans toute la plage B2:B1044 si 'il n'y a aucune occurrence alors elle met en C2 la valeur A2 sinon elle ne met rien puisque la valeur en A2 existe au moins une fois dans n'importe quelle ligne en colonne B.

pour obtenir en résultat toutes les valeurs contenues dans B1:B1043 SAUF celles contenues dans A1:A909.

c'est plutôt cette formule
Code:
=SI(NB.SI($A$2:$A$1044;B2)<>0;"";B2)

dans le fichier joint dans la colonne C chaque cellule est vide si la valeur en A existe aumoins une fois dans la colonne B; donc la colonne C contient les valeurs qui sont en A sans se trouver en B;

sur la colonne D tu trouve les valeurs qui sont en B sans se trouver en A si la cellule en D est vide cela veux dire que la valeur en B existe au moins une fois dans la colonne A
 

Pièces jointes

  • Copie de comparaison_colonnes1.xlsx
    44.9 KB · Affichages: 447
Dernière édition:

Discussions similaires