Comment supprimer des lignes selon une valeur donnée?
JulieD44
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
JulieD44 -
JulieD44 -
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 !!
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:
- Comment supprimer des lignes selon une valeur donnée?
- Supprimer rond bleu whatsapp - Guide
- Comment supprimer une page sur word - Guide
- Comment supprimer une application préinstallée sur android - Guide
- Supprimer pub youtube - Accueil - Streaming
- Supprimer les données de navigation - Guide
4 réponses
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) ?
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) ?
je serai absent cet aprem donc sois patiente ;o)
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...
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...
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....
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
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
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
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.
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.