Comment supprimer des lignes selon une valeur donnée?

Fermé
JulieD44 Messages postés 3 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 4 juillet 2014 - 2 juil. 2014 à 14:24
 JulieD44 - 15 juil. 2014 à 09:17
Bonjour à tous,

Je dois mettre en place une base de donnée sur Excel que je pourrais rapidement mettre à jour suite à l'extraction de données d'un autre logiciel.

Cependant, mon extraction me donne des données qui ne me sont pas toutes utiles.
J'aurais donc besoin de supprimer les informations qui ne me servent pas et qui représentent beaucoup de lignes (sachant qu'il y a environ 28000 lignes).

Mon critère de sélection est le suivant : garder les données qui ont été enregistrées par trois personnes

Exemple :
A B
1 Julie
5 Clément
5 Marie
4 Laurent
7 Marie
5 Marie
7 Pierre

Je ne souhaite garder QUE les lignes de Julie, Clément et Laurent.

J'ai déjà vu ce genre de question posée sur les forum et la réponse était de supprimer toutes les lignes ou il n'y avait pas Julie, Laurent ou Clément.
Cependant, j'ai trop de noms différents pour pouvoir faire ça (plus de 400).

J'aimerais trouver un code qui prendrait comme critère de tout supprimer SAUF les lignes où on trouve Julie, Laurent et Clément.

Auriez-vous une idée à me proposer ?
Je suis novice en code et j'ai cherché avant de venir poser la question sur le forum. J'ai besoin d'aide svp.

Merci !!
A voir également:

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
2 juil. 2014 à 14:50
Bonjour,

Oui c'est possible:

Il faudrait que dans un coin de ton classeur, tu fasses un tableau des personnes autorisées

Combien de lignes as tu (colonnes A B) ?
0
JulieD44 Messages postés 3 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 4 juillet 2014
3 juil. 2014 à 09:59
J'ai 27498 lignes pour être exacte
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
3 juil. 2014 à 12:18
je serai absent cet aprem donc sois patiente ;o)
0
JulieD44 Messages postés 3 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 4 juillet 2014
4 juil. 2014 à 08:28
J'ai essayé ce code :

Sub SupprimerLignes()
With Worksheets("Test")
For R = .Cells(.Rows.Count, 3).End(xlUp).Row To 1 Step -1
If .Cells(R, 3) > "" And (.Cells(R, 3) <> "Julie" And .Cells(R, 3) <> "Clément" And .Cells(R, 4) <> "Laurent") And .Cells(R, 3) <> "Titre de ma colonne"Then .Cells(R, 4).EntireRow.Delete
Next
End With
End Sub


Cela marche lorsque je n'ai pas beaucoup de lignes.
Par contre, ça fait planter Excel lorsque je teste sur mes 27498 lignes...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 4/07/2014 à 11:44
Bonjour,

J'essaie de te proposer un truc dès que j'ai un moment, excuse moi

Combien as tu de colonnes , A à C ou ..... ?

Edit:
Ou plutôt envoie un extrait de ton classeur (1000 à 2000 lignes) et non un exemple ressemblant car vu le nombre de données et le fait qu'excel se plante, il me faut bien situé le pb....

pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
http://cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
6 juil. 2014 à 12:32
Bonjour

en attendant le fichier

maquette pour le principe de travail( style requete Access ADO-SQL): on peut sélectionner jusqu'à 5 personnes
4 colonnes,2000 lignes
Extraction 5 personnes en 0,6 sec (vieux coucou win xp, 512 Mo ram)
https://www.cjoint.com/c/DGgmFh2y6BC
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
10 juil. 2014 à 09:46
MERCI
...
DE RIEN !
0
Bonjour Michel,

Je suis vraiment dsl de ne pas avoir répondu plus tôt... je n'ai pas eu accès à internet pendant 10 jours (voyage). Je voulais vous remercier d'avoir pris le temps de m'aider.

Finalement, j'ai retenté le code que je vous avais écrit et il fonctionne. Il faut juste laisser excel travailler quelques minutes. Je vais me contenter de cela.

Encore dsl et bonne continuation.
0