Nettoyer une base de données avec une liste
Résolu
TOT127
Messages postés
898
Date d'inscription
Statut
Membre
Dernière intervention
-
TOT127 Messages postés 898 Date d'inscription Statut Membre Dernière intervention -
TOT127 Messages postés 898 Date d'inscription Statut Membre Dernière intervention -
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,
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:
- Célia doit nettoyer le tableau ci-dessous pour l’ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ?
- Celia doit nettoyer le tableau - Meilleures réponses
- Celia doit nettoyer le tableau suivant - Meilleures réponses
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif ci-dessous. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. il manque 5 valeurs dans le tableau ci-dessous. retrouvez-les dans votre tableau, puis reportez-les arrondies à l’entier le plus proche. ✓ - Forum Excel
- +33 4 24 47 31 44 ✓ - Forum Mobile
- Supprimer les données de navigation - Guide
- Comment nettoyer un ordinateur qui rame - Guide
- Tableau croisé dynamique Excel : la méthode complète - Guide
1 réponse
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
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
TOT127
Messages postés
898
Date d'inscription
Statut
Membre
Dernière intervention
96
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
TOT127
Messages postés
898
Date d'inscription
Statut
Membre
Dernière intervention
96
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)