Rechercher : dans
Par :

Excel : extraire une liste d'une autre

Dernière réponse le 19 oct 2009 à 12:57:56 marholyne, le 17 oct 2009 à 09:51:19 
 Signaler ce message aux modérateurs

Bonjour,

Je dispose de 2 feuilles excel liste A et liste B.
Ces feuilles ont la même structure. ( colonnes : vide,nom,prénom,email,vide,valeur,valeur )
La liste B est un sous-ensemble de la liste A.
Je voudrais récupérer les infos de la liste A qui ne sont pas dans la liste B avec la même structure.
Le critère de doublons se fait sur la colonne email.

Je connais pas beaucoup les fonctions excel ni les macros excel.

Merci d'avance de votre aide.

Configuration: Windows XP
Firefox 3.0.14

Meilleures réponses pour « excel : extraire une liste d'une autre » dans :
Listes déroulantes simples avec Excel VoirDans votre tableau, vous souhaitez insérer un texte ou une valeur choisi dans une liste (déroulante). vous créez votre liste, ligne aprés ligne, sur votre feuille en cours ou sur une autre feuille du classeur en cours. vous la nommez : INSERTION...
Liste déroulante avec saisie semi automatique pour EXCEL VoirC'est une procédure qui demande un investissement personnel et qui n'est pas nécessairement facile à comprendre et à réaliser dès la première fois. Afin de rendre cette astuce facile à utiliser, nous allons employer les plages et les formules...
Décaler les éléments d'un tableau (Rotation) -Récursivité- VoirVoici une procédure récursive qui permet de décaler tous les éléments d’un tableau d’une position à droite à partir de la position p Procedure Decaler (Var t : Tab; p, n : integer); Begin If p

1

Vaucluse, le 17 oct 2009 à 11:47:44

Bonjour
on doit pouvoir faire sans macro:
Supposons le périmètre suivant pour l'exemple:
votre liste A / colonne b c d e f g sur feuilA
votre liste B /colonne b c d e f g sur feuilB
La liste des @ dans colonne d
le tout à partir de ligne 2

sur une feuilC
colonne B la formule en colonne b:
=SI(NB.SI(feuil!A!A:A;feuilB!$D2)=0;feuilA!B2;"")
(Attention au blocage $ sur le D de D2)

tirez cette formule sur la largeur et la hauteur du champ feuil!
Vous obtiendrez en feuilC un tableau "à trou" n'éditant que les @ de feuil!A qui ne sont pas dans feuil!B
il ne restera plus qu'à trier pour compacter le tableau.

Il y a moyen de créer un tableau sans trou sur le même raisonnement pour éviter le tri. Ceci n'est intèressant que si vos listes A et B sont évolutives. Si nécessaire dites le moi, je vous ferais un exemple, mais c'est un peu plus complexe.

Crdlmnt

Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?

Répondre à Vaucluse

2

marholyne, le 17 oct 2009 à 12:16:42

C'est jsute la formule que je voulais : le but c'est d'importer dans une table Access .

Répondre à marholyne

3

Vaucluse, le 17 oct 2009 à 13:12:57

OK et alors ça a marché? Demandons nous si nous ne sommes pas seuls à comprendre ce q­ue l'on explique?

Répondre à Vaucluse

4

marholyne, le 18 oct 2009 à 08:28:54

J'ai ouvert ma liste A
j'ai ouvert ma liste B
après avoir saisi ta formule dans la 1ère cellule de la colonne b d'une feuille de calcul vierge j'obtiens :
"#NOM ?" dans la cellule .

je suis gros débutant en excel.

Répondre à marholyne

5

Vaucluse, le 18 oct 2009 à 09:01:08

Bonjour
Avez vous aussi respecté les noms des feuilles. Pouvez vous me retransmettre ici:
Le nom de vos feuille liste A et B
La formule que vous avez placée.
Par ailleurs et avec mes excuses, il y a un erreur dans ma proposition qui n'a rien à voir avec l'affichage #NOM (du moins je ne pense pas) car c'est dans la colonne D qu'il faut chercher la valeur de D2, soit:
=SI(NB.SI(feuil!A!D:D;feuilB!$D2)=0;feuilA!B2;"")
Attention aux ponctuations.
Crdlmnt Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?

Répondre à Vaucluse

6

marholyne, le 18 oct 2009 à 09:34:57

J'ai utilisé 3 fichier xls mais j'ai l'impression que la formule nécessite plutôt un classeur avec 3 onglets ?

je suis un gros débutant en excel :(

Répondre à marholyne

7

marholyne, le 18 oct 2009 à 09:44:02

Je viens de faire l'essai avec un classuer et 3 feuilles ; j'ai le même résultats .

dans les trois onglets j'ai 'feuille1' , 'feuille2' et 'feuille3'

j'ai essayé :
=SI(NB.SI(feuille1!A!D:D;feuille2B!$D2)=0;feuille3A!B2;"")
mais j'ai tjs #NOM? dans B1 de ma feuille 3

Répondre à marholyne

8

Vaucluse, le 18 oct 2009 à 10:26:37

Normal; le nom des feuilles n'est pas correct.
Il faut que le nom de la feuille avant le ! corresponde, caractére pour caractère, à celui indiqué sur son onglet, soit:
=SI(NB.SI(feuille1!D:D;feuille2!$D2)=0;feuille1!B2;"")
Les noms feuilA et feuilB que j'ai donné était une exemple pour élaborer ma formule et ne comportait plus 1 et 2
Si vos feuilles s'appellent déja 1 et 2 il ne faut pas rajouter A et B dans leur nom.
Tenez moi au courant
Crdlmnt
PS: recomandation complémentaire pour facilter vos mises en place de formule:
commencer votre tableau feuil3 sur la même ligne que les deux autres, ce sera plus simple pour s'y retrouver Je vous envoie un exemple. Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?

Répondre à Vaucluse

9

marholyne, le 18 oct 2009 à 11:11:29

J'ai essayé en vain :
=SI(NB.SI(feuille1!d:d;feuille2!$D2)=0;feuille1!B2;"")
=SI(NB.SI(Feuille1!d:d;Feuille2!$D2)=0;Feuille1!B2;"")

Répondre à marholyne

10

Vaucluse, le 18 oct 2009 à 11:35:41

Re re
L'exemple au lien ci dessous. Je ne comprend pas où ça coince,sauf, vous verrez dans la formule sur feuille C, qu'il faut écrire la colonne D:D avec $D:$D pour pouvoir copier la formule sur le tableau en feuille C.
La feuille c du modèle ne renvoie que les valeurs de B non trouvées en A.
Faites bien attention aux libellés des noms de feuille par rapport à ce qui est inscrit dans leurs onglets respectifs.Par ex,lesfeuilles nommées par excel et non renommées s'appellent feuil1 et non pas feuille 1)
http://www.cijoint.fr/cjlink.php?file=cj200910/cijHXWQRkW.xl­s
si excel ne transforme pas vos d:d en D:D c'est qu'il ne reconnait pas la formule.
Bonne chance

Demandons nous si nous ne sommes pas seuls à comprendre ce q­ue l'on explique?

Répondre à Vaucluse

11

marholyne, le 19 oct 2009 à 08:22:09

Avec :
=SI(NB.SI(feuille2!$D1:$D4;feuille1!$D1)=0;"",feuille1!$B$2:E2)
j'obtiens : err :501 cette fois

( c'est la liste b qui est un ss-ensemble de la liste a)

Répondre à marholyne

12

 Vaucluse, le 19 oct 2009 à 12:57:56

Ca devient n'importe quoi, là, et je ne sais plus comment faire.
votre formule se termine par , au lieu de ; et par B2:D2 !!!!!!! c'est à dire que vous demandez à Excel d'afficher la ligne dans la cellule! faut pas réver.
Et de surcroit vous écrivez la formule à l'envers.
Avez vous regardé le modèle, si oui, plus que deux solutions:
Soit vous mettez votre tableau à disposition pour que nous le traitions, soit on laisse tomber.
bon courage Demandons nous si nous ne sommes pas seuls à comprendre ce q­ue l'on explique?

Répondre à Vaucluse