Compraison listes dans excel
lucie
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
J'ai un fichier excel dans lequel j'ai deux listes dans deux feuilles différentes. J'aimerais trouver un moyen de sortir automatiquement les noms des personnes présentes dans la feuille 1 et qui n'existe pas dans la seconde. Est-ce possible ?
Merci d'avance
Cdlt
Lucie
J'ai un fichier excel dans lequel j'ai deux listes dans deux feuilles différentes. J'aimerais trouver un moyen de sortir automatiquement les noms des personnes présentes dans la feuille 1 et qui n'existe pas dans la seconde. Est-ce possible ?
Merci d'avance
Cdlt
Lucie
A voir également:
- Compraison listes dans excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Trier dans excel - Guide
3 réponses
Bonjour
en supposant que votre liste feuille 1 commence en A1:
en colonne B, B1:
=SI(NB.SI(Feuille2!A:A;A1)=0;A1;"")
à tirer sur la hauteur du champ
vous ressortira les nom existants en feuille 1 non présents en feuille 2
à adapter à vos champs
crdlmnt
en supposant que votre liste feuille 1 commence en A1:
en colonne B, B1:
=SI(NB.SI(Feuille2!A:A;A1)=0;A1;"")
à tirer sur la hauteur du champ
vous ressortira les nom existants en feuille 1 non présents en feuille 2
à adapter à vos champs
crdlmnt
Bonjour,
Oui cela fonctionne mais est ce possible d'obtenir une liste sans les cases vides au milieu (une liste avec tous les noms à la suite)
J'ai essayé en faisant un filtre presonnalisé mais on ne peut pas choisir "non vide". J'ai donc mis différent de 0 et différent de "" mais cela conserve tout de même les cases vides....
Merci
Cdlt
Lucie
Oui cela fonctionne mais est ce possible d'obtenir une liste sans les cases vides au milieu (une liste avec tous les noms à la suite)
J'ai essayé en faisant un filtre presonnalisé mais on ne peut pas choisir "non vide". J'ai donc mis différent de 0 et différent de "" mais cela conserve tout de même les cases vides....
Merci
Cdlt
Lucie
Tout dépend de ce que vous voulez:
soit votre édition est statique et une fois établie, ne sera pas modifiée par des évolutions de listes:
dans ce cas, il suffit de construire la liste avec la formule, de faire un copier / Collage spécial :"valeur" pour garder l'édition sans les formules, et de trier la colonne par ordre croissant pour avoir une liste complète sans trou.
ou alors simplement de trier ensemble les colonnes A et B en ordre croissant sur la colonne B
soit vos listes sont évolutives et pour avoir une édition sans trou en continu, vous pouvez procéder comme suit:
vos listes commencent en A2 sur les deux feuilles (pas en A1)
sur feuille 1 dans une colonne hors champ que vous pourrez masquer(colonne X pour l'exeple), entrez cette formule en X2:
=SI(NB.SI(Feuille2!A:A;A1)=0;MAX($X$1:X1)+1;0)
attention, le premier X1 est bloqué, pas le second
tirer cette formule sur la hauteur utile
en B2, placez la formule:
=SI(LIGNE()-1>MAX(X:X);"";INDEX(A:A;EQUIV(LIGNE()-1;0);1))
qui vous éditera la liste sans trou des noms inexistant en feuille 2
ici un petit modèle conforme à cette option pour faciliter la compréhension
http://www.cijoint.fr/cjlink.php?file=cj201105/cijAj9F0ck.xls
crdlmnt
soit votre édition est statique et une fois établie, ne sera pas modifiée par des évolutions de listes:
dans ce cas, il suffit de construire la liste avec la formule, de faire un copier / Collage spécial :"valeur" pour garder l'édition sans les formules, et de trier la colonne par ordre croissant pour avoir une liste complète sans trou.
ou alors simplement de trier ensemble les colonnes A et B en ordre croissant sur la colonne B
soit vos listes sont évolutives et pour avoir une édition sans trou en continu, vous pouvez procéder comme suit:
vos listes commencent en A2 sur les deux feuilles (pas en A1)
sur feuille 1 dans une colonne hors champ que vous pourrez masquer(colonne X pour l'exeple), entrez cette formule en X2:
=SI(NB.SI(Feuille2!A:A;A1)=0;MAX($X$1:X1)+1;0)
attention, le premier X1 est bloqué, pas le second
tirer cette formule sur la hauteur utile
en B2, placez la formule:
=SI(LIGNE()-1>MAX(X:X);"";INDEX(A:A;EQUIV(LIGNE()-1;0);1))
qui vous éditera la liste sans trou des noms inexistant en feuille 2
ici un petit modèle conforme à cette option pour faciliter la compréhension
http://www.cijoint.fr/cjlink.php?file=cj201105/cijAj9F0ck.xls
crdlmnt
bonjour à tous les deux
une option avec macro (altF11 pour acceder à l'editeur puis coller le code)
RQ1. modifier les constantes
RQ2. j'ai mis les resultats en feuille F1
bonne suite
une option avec macro (altF11 pour acceder à l'editeur puis coller le code)
Option Explicit
Const F1 = "Feuil1"
Const F2 = "Feuil2"
Const lidebF1 = 1
Const coF1 = "A"
Const lidebF2 = 1
Const coF2 = "A"
Const lidebR = 1 ' ligne debut resultat
Const coR = "C" ' colonne resultat
Public Sub extraction()
Dim lifinF1 As Long, liF1 As Long
Dim lifinF2 As Long
Dim LiR As Long
Dim plageR As Range, c As Range
Dim nom As String
lifinF1 = Sheets(F1).Range(coF1 & 65536).End(xlUp).Row
lifinF2 = Sheets(F2).Range(coF2 & 65536).End(xlUp).Row
Set plageR = Sheets(F2).Range(coF2 & lidebF2 & ":" & coF2 & lifinF2)
LiR = lidebR
For liF1 = lidebF1 To lifinF1
nom = Sheets(F1).Range(coF1 & lidebF1 + liF1 - 1).Value
Set c = plageR.Find(nom)
If c Is Nothing Then
Sheets(F1).Range(coR & LiR).Value = nom
LiR = LiR + 1
End If
Next liF1
End Sub
RQ1. modifier les constantes
RQ2. j'ai mis les resultats en feuille F1
bonne suite