Nettoyer une base de données avec une liste

Résolu/Fermé
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
- 9 juin 2016 à 20:22
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
- 11 juin 2016 à 22:32
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

via55
Messages postés
13586
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 mai 2022
2 400
9 juin 2016 à 21:05
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
4
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
95
Modifié par TOT127 le 10/06/2016 à 11:20
Bonjour ! merci de ta réponse. J'ai essayé mais il y a quelque chose que je dois faire de travers car cela ne fonctionne pas, avant j'avais une erreur (valeur) et maintenant la formule se copie sans rien faire. je vais retenter. les noms sont en colonne E en feuil1 et A en feuil2 en effet
0
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
95
10 juin 2016 à 11:43
là je sais pas pourquoi, ça a marché mais j'ai que des 0. Or, il devrait y avoir des 1 (j'ai vérifié à la main)
0
via55
Messages postés
13586
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 mai 2022
2 400 > TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018

10 juin 2016 à 13:55
Peut être que les noms ne sont pas écrits de manière identique, il suffit d'un blanc après le nom par exemple invisible au premier abord, mais sans le fichier impossible d'en dire plus
Postes moi en message privé si tu veux pour la confidentialité, un extrait de ton fichier (une centaine de lignes dans la 1ere feuille suffit et la liste pas forcement complète en 2eme feuille mais où on retrouve quelques noms de la 1ere, je regarderai
0
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
95
10 juin 2016 à 14:08
entendu, je fais ça. merci !
0
TOT127
Messages postés
898
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
7 août 2018
95
11 juin 2016 à 02:00
BOnjour...Cest encore moi avec mes problèmes. Maintenant j'ai une liste de noms en feuille 1 colonne A. 510 noms. Et une liste de noms, environ 500 mais à 80% les mêmes, en feuille 2 colonne A, accompagnée en colonne 2 de la liste des pseudos correspondant. Yaurait-il moyen de basculer les pseudos automatiquement de la f2 à la f1 devant le nom indiqué en f2 col1 ? il y en aura 20 à faire à la main ou 40 mais c'est pas grave ça... Je peux modifier al formule que tu as fait dans ce sens ?
0