Copie selective de valeurs

R

Renaud

Guest
Bonjour,

J'ai une liste de valeurs (sans doublons) dans la colonne A, une autre liste de valeurs (sans doublons) dans la colonne B.

Comment faire pour avoir (copier) dans la colonne C, les valeurs de la colonne A qui ne sont pas dans la colonne B.


Merci

renaud
 

ZZR09

XLDnaute Occasionnel
En inversant les colonnes A et B (la fonction rechercheV d'Excel ne fonctionne que sur la première colonne).
Tu veux alors les valeurs de B qui ne sont pas dans A

en C1
=SI(ESTERREUR(RECHERCHEV(B1;A:A;1;0));B1;'')
recopie la formule vers le bas.

Avec cette fonction, Excel ne recopiera en C que les valeurs qu'ils n'aura pas trouvé dans la colonne A. L'inconvénient, c'est qu'on se retrouve avec plein de cellules vides : toutes celles de B qui sont contenues dans A.

Un filtrage 'non vide' permet de réctifier le tir.

Sinon, une macro serait bien plus efficace :
prendre chaque valeur de la colonne A la comparer aux valeurs de l'autre colonne et la copier en C si elle n'existe pas en B.
quelques compteurs feront l'affaire.
J'imagine aussi que la gestion de listes serait encore mieux, mais je ne connaîs pas du tout, c'est au programme des prochains jours.
 

DDalmont

XLDnaute Junior
Bonjour renaud, le forum

Voila un bout de code VB

Dim cola As String
Dim x As Integer
Dim y As Integer
Dim z As String
Dim condi As Boolean

Feuil1.Columns(3).Clear
z = 1

For x = 1 To Feuil1.Range('a65536').End(xlUp).Row
cola = Feuil1.Cells(x, 1)
condi = True
For y = 1 To Feuil1.Range('B65536').End(xlUp).Row
If Feuil1.Cells(y, 2) = cola Then condi = False: Exit For
Next

If condi = True Then Feuil1.Cells(z, 3) = cola: z = z + 1

Next x


Cordialement
 

Statistiques des forums

Discussions
312 299
Messages
2 086 993
Membres
103 422
dernier inscrit
victus5