Nettoyer une base de données avec une liste [Résolu/Fermé]

Signaler
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
-
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
-
Bonjour,
Je suis en train de simplifier une base de données, qui est de la forme suivante. Considérez que chaque ligne est le descrition d'un virement bancaire de financement électoral (données publiques). Chaque candidat peut avoir des dizaines de financements, donc ça donne des dizaines de lignes.

code éle; données; heure; contrat; canditat, transfert, lavaleur; financeur
133; ............................................ John; 77987; 800 $; Big entreprise
133; ............................................ John; 79619; $ 1900; énnorme entreprise
133; ............................................ Mark; 87681; 300 $; Petite entreprise
(Je mets ces variables inutiles, comme code élection, avant, comme dans le fichier)

J'ai donc 130.000 lignes comme ça, parce que la base de données est sur les candidats, élus ou non élus. Mais Mark n'a pas été élu ! Donc j'ai 90% de gens inutiles dans la base, et évidemment, le créateur de la base n'a pas pensé à mettre une variable "élu".

Or,
J'ai une autre base de données, avec 550 noms: ceux élus.

Y at-il un processus automatique, ou VBA (je suis si mauvais en VBA ....) pour nettoyer la liste?
Je voudrais supprimer toutes les lignes où CANDIDAT est un nom qui ne figure pas dans l'autre liste. Est-ce vous voyez ce que je veux dire?

Merci beaucoup pour votre aide,
A voir également:

1 réponse

Messages postés
12984
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
8 avril 2021
2 168
Bonjour

Un possibilité sans VBA
En supposant les candidats en colonne E et le listes des élus dans une Feuil2 en colonne A, rajouter dans la 1ere feuille une colonne dans laquelle en ligne 2 tu mets la formule =NB.SI(Feuil2!A:A;C2)
Etirer ensuite la formule au bas de ta feuille (double clic sur le carré noir en bas à droite de ta cellule
Cette formule de comptage devrait renvoyer 0 si le nom n'existe pas dans la liste d'élus et 1 autrement

Reste ensuite à filtrer le tableau sur cette colonne en décochant la valeur 0

Enfin copier le tableau filtré et le coller dans un autre feuille par collage spécial Valeurs uniquement

Cdlmnt
Via
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
12984
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
8 avril 2021
2 168 >
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018

Re

Ben là il ne s'agit plus de NB.SI mais de retrouver les pseudos correspondants donc il faut utiliser RECHERCHEV
Avec les noms et pseudos en col A:B de feuille2 et les noms en col A de Feuille 1 mettre par exemple en B2 de Feuil1 la formule
=RECHERCHEV(A2;Feuil2!A:B;2;0)
et l'étirer vers le bas
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
89
MERCI BEAUCOUP (2h du matin samedi matin et je fais ça...)
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
89
J'ai essayé la manipulation suivante: #N/A =RECHERCHEV(A:A; Feuil2!D:D; 4; FAUX) pour importer en feuille 1 colonne L des données présentes en feuille 2 colonnes 4 (un élément commun des deux feuilles: la colonne A, les noms, est la même). Pourquoi ai je #N/A ici ?
Messages postés
12984
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
8 avril 2021
2 168 >
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018

1) la RECHERCHEV doit porter sur une valeur à chercher dans une plage ici tu as mis A:A au lieu de A2( ou A3 etc)
2) La plage de rechercher peut comporter plusieurs colonnes, la recherche s'effectue toujours dans la 1ere colonne et on renvoie la valeur dans la xme colonne selon le nombre indiqué en 3eme critère; ici d'une indique une plage de recherche à une seule colonne D:D et tu demandes le retour de la valeur en colonne 4 !!!
3) si la valeur recherchée n'existe pas dans la plage la formule retourne de toute façons #N/A
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
89
j'ai réussi ! je maitrise enfin recherchv, merci encore