Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trier des listes

12 réponses
Avatar
Michel (pen ar bed)
Bonjour,

Dans une feuille j'ai deux colonnes A & B de longueur inégale avec des
noms.

je cherche à faire la chose suivante:

Trouver les noms dans B qui sont présent dans A et recopier sont qui
n'y sont pas dans C.

Un peut d'aide serait la bienvenue.
Merci
M.

10 réponses

1 2
Avatar
Daniel.C
Bonjour.
Suppose une plage A1:B15 (les deux colonnes peuvent être de taille
inégale, 15 est alors la longueur de la plus grande).
En C1, mets la formule matricielle (à valider avec les touches
CTRL+MAJ+Entrée) :
=SI(GRANDE.VALEUR(NB.SI($A$1:$A$15;$B$1:$B$15)*LIGNE($1:$15);LIGNE())=0;"";INDEX($B$1:$B$15;GRANDE.VALEUR(NB.SI($A$1:$A$15;$B$1:$B$15)*LIGNE($1:$15);LIGNE())))
et reproduis la jusqu'en ligne 15.
Note. La formule doit être modifiée si la première cellule n'est pas en
ligne 1.
Cordialement.
Daniel

Bonjour,

Dans une feuille j'ai deux colonnes A & B de longueur inégale avec des noms.

je cherche à faire la chose suivante:

Trouver les noms dans B qui sont présent dans A et recopier sont qui n'y sont
pas dans C.

Un peut d'aide serait la bienvenue.
Merci
M.


Avatar
isabelle
bonjour Michel,

Sub Macro1()
For i = 1 To Range("A65536").End(xlUp).Row
If IsError(Evaluate("=MATCH(A" & i & ",B:B,0)")) Then
x = x + 1
Range("C" & x) = Range("A" & i)
End If
Next
End Sub


isabelle

Michel (pen ar bed) a écrit :
Bonjour,

Dans une feuille j'ai deux colonnes A & B de longueur inégale avec des
noms.

je cherche à faire la chose suivante:

Trouver les noms dans B qui sont présent dans A et recopier sont qui n'y
sont pas dans C.

Un peut d'aide serait la bienvenue.
Merci
M.




Avatar
Jacky
Bonjour,
J'ai compris qu'il faut recopier dans C les données sans doublon des
colonnes A et B ??
En C1
=SI(ESTNA(EQUIV(A1;B:B;0));A1;"")
et recopier vers le bas aussi loin que besoin


--
Salutations
JJ


"Michel (pen ar bed)" a écrit dans le message de news:

Bonjour,

Dans une feuille j'ai deux colonnes A & B de longueur inégale avec des
noms.

je cherche à faire la chose suivante:

Trouver les noms dans B qui sont présent dans A et recopier sont qui n'y
sont pas dans C.

Un peut d'aide serait la bienvenue.
Merci
M.




Avatar
Jacky
Plutôt
=SI(ET(A1<>"";ESTNA(EQUIV(A1;B:B;0)));A1;SI(ET(B1<>"";ESTNA(EQUIV(B1;A:A;0)));B1;""))

--
Salutations
JJ


"Jacky" a écrit dans le message de news:

Bonjour,
J'ai compris qu'il faut recopier dans C les données sans doublon des
colonnes A et B ??
En C1
=SI(ESTNA(EQUIV(A1;B:B;0));A1;"")
et recopier vers le bas aussi loin que besoin


--
Salutations
JJ


"Michel (pen ar bed)" a écrit dans le message de news:

Bonjour,

Dans une feuille j'ai deux colonnes A & B de longueur inégale avec des
noms.

je cherche à faire la chose suivante:

Trouver les noms dans B qui sont présent dans A et recopier sont qui n'y
sont pas dans C.

Un peut d'aide serait la bienvenue.
Merci
M.








Avatar
JB
Bonjour,

Fonction perso mtricielle:

Function Difference(champ1, champ2)
Set MonDico1 = CreateObject("Scripting.Dictionary")
For Each c In champ2
If Not MonDico1.Exists(c.Value) Then MonDico1.Add c.Value, c.Value
Next c
Set mondico2 = CreateObject("Scripting.Dictionary")
For Each c In champ1
If Not MonDico1.Exists(c.Value) Then
If Not mondico2.Exists(c.Value) Then mondico2.Add c.Value,
c.Value
End If
Next c
Difference = Application.Transpose(mondico2.items)
End Function

http://boisgontierjacques.free.fr/fichiers/fonctionsperso/FonctionCommuns.x ls

JB
http://boisgontierjacques.free.fr/




On 1 nov, 10:19, Michel (pen ar bed) wrote:
Bonjour,

Dans une feuille j'ai deux colonnes A & B de longueur inégale avec des
noms.

je cherche à faire la chose suivante:

Trouver les noms dans B qui sont présent dans A et recopier sont qui
n'y sont pas dans C.

Un peut d'aide serait la bienvenue.
Merci
M.


Avatar
Michel (pen ar bed)
JB a écrit :

Merci à Tous,

Finalement j'ai utilisé le code d'Isabelle

Bonne fin de Week End

M.
Avatar
Jacky
Re...
As-tu testé ??
Voir ici:
http://cjoint.com/?lbq1Q1I5hX

--
Salutations
JJ


"Michel (pen ar bed)" a écrit dans le message de news:

JB a écrit :

Merci à Tous,

Finalement j'ai utilisé le code d'Isabelle

Bonne fin de Week End

M.




Avatar
Michel (pen ar bed)
Dans son message précédent, Jacky a écrit :
Re...
As-tu testé ??
Voir ici:
http://cjoint.com/?lbq1Q1I5hX




Ben oui, je l'ai juste modifié comme ceci

For i = 2 To Range("b65536").End(xlUp).Row
If IsError(Evaluate("=MATCH(b" & i & ",a:a,0)")) Then
x = x + 1
Range("C" & x) = Range("b" & i)
End If
Next

Et ça fonctionne bien
Avatar
Jacky
Re...
Il y a dans ces deux colonnes 8 données uniques, non, ou alors il y a
quelque chose qui doit m'échapper
http://cjoint.com/?lbuDEWcLCD
--
Salutations
JJ


"Michel (pen ar bed)" a écrit dans le message de news:

Dans son message précédent, Jacky a écrit :
Re...
As-tu testé ??
Voir ici:
http://cjoint.com/?lbq1Q1I5hX




Ben oui, je l'ai juste modifié comme ceci

For i = 2 To Range("b65536").End(xlUp).Row
If IsError(Evaluate("=MATCH(b" & i & ",a:a,0)")) Then
x = x + 1
Range("C" & x) = Range("b" & i)
End If
Next

Et ça fonctionne bien




Avatar
Michel (pen ar bed)
Jacky avait énoncé :
Re...
Il y a dans ces deux colonnes 8 données uniques, non, ou alors il y a quelque
chose qui doit m'échapper
http://cjoint.com/?lbuDEWcLCD
--



Peut être que ma demande n'était pas suffisamment bien formulée

Je résume les macros du classeur cjoint.

La macro "Isabelle" donne comme résultat les cellules non présentes
dans B
La macro "Michel" donne comme résultat les cellules non présentes dans
A
La macro ""JJ" donne les cellules non présentes dans A & B

Moi je cherche bien la solution non présente dans A.

Bon Dimanche
1 2