Excel : Supprimer X lignes avec un meme mot
Résolu
jessipop6
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai besoin de votre aide de toute urgence !!
Je me trouve avec un tableau excel de 12000 lignes, dans lequels je dois supprimer toutes les lignes contenant par exemple le mot "calcul"
J'ai commencé manuellement mais je n'en peux deja plus, et je dois avoir terminer pour cette apres midi...
Quelqu'un aurait une formule pour supprimer rapidement toutes ces lignes ?
Merci d'avance !
J'ai besoin de votre aide de toute urgence !!
Je me trouve avec un tableau excel de 12000 lignes, dans lequels je dois supprimer toutes les lignes contenant par exemple le mot "calcul"
J'ai commencé manuellement mais je n'en peux deja plus, et je dois avoir terminer pour cette apres midi...
Quelqu'un aurait une formule pour supprimer rapidement toutes ces lignes ?
Merci d'avance !
7 réponses
-
bonjour
une precision : le mot qui doit declencher la suppression de la ligne est il
- isole dans une cellule
- toujours dans la même colonne (tout seul ou non dans une cellule)
bonne suite -
Bonjour, ou plutot re-,
Il faut éviter les doublons ici, sous peine de suppression. J'me demandais ou étais passé ton sujet, je comprends mieux maintenant...
Bon reprenons. Mon code fonctionne bien chez moi.
J'aimerais donc comprendre ce qui ne fonctionne pas chez toi.Sub couper_coller() Dim NomFeuil As String Dim Ligne As Long, DernLigne As Long Dim result As String NomFeuil = ActiveSheet.Name Sheets.Add ActiveSheet.Name = "recup donnees" Application.ScreenUpdating = False With Sheets(NomFeuil) DernLigne = .Range("A65536").End(xlUp).Row For Ligne = DernLigne To 2 Step -1 If .Cells(Ligne, 8).Value Like "toto" Then .Cells(Ligne, 8).EntireRow.Cut Sheets("recup donnees").Range("A" & Range("A65536").End(xlUp).Row + 1) .Cells(Ligne, 8).EntireRow.Delete End If Next End With Sheets(NomFeuil).Activate Application.ScreenUpdating = True End Sub
Si ccm81, de passage pouvait y jeter un oeil, on n'est jamais trop de deux... -
> pijaku
ça marche
un petit détail pour ne pas retrouver les sauvegardes après les 12000 lignes
.Cells(Ligne, 8).EntireRow.Cut Sheets("recup donnees").Range("A" & Sheets("recup donnees").Range("A65536").End(xlUp).Row + 1)
bonne journée -
je n'ai rien dit ...
le Sheets("recup donnees"). de ton coller avait disparu quand j'ai fait mon copier .... coller (un comble non?) !!!-
Oui, un comble! Mais ça arrive plus souvent qu'on ne le croit...
Par contre une almélioration notable :
Cette macro remplit une feuille "recup donnees" à partir de ta feuille d'origine, en commençant par la fin. Résultat, "recup donnees" commence par les dernières valeurs de ta feuille d'origine. l'ordre est inversé. Pour rétablir l'ordre il convient de :If result = vbYes Then .Cells(Ligne, 3).EntireRow.Cut Sheets("recup donnees").Range("A2").Insert Shift:=xlDown .Cells(Ligne, 3).EntireRow.Delete End If
EDIT : je dis ça sur un sujet déserté par son auteur, et juste à titre de discussion et divers pinaillage!!!
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
merci pour le pinaillage .... c'est quand même mieux une fois pinaillé !!
-
Salut,
J'ai besoin de faire la même chose mais en créant une boucle de recherche, en reprenant dans l'exemple, toto, toto1, toto2, toto3...
exemple:If .Cells(Ligne, 2).Value Like "toto1" Then .Cells(Ligne, 2).EntireRow.Copy Sheets("pax_GBI").Range("A" & Range("A65536").End(xlUp).Row + 1) If .Cells(Ligne, 2).Value Like "toto2" Then .Cells(Ligne, 2).EntireRow.Copy Sheets("pax_GBI").Range("A" & Range("A65536").End(xlUp).Row + 1) If .Cells(Ligne, 2).Value Like "toto3" Then .Cells(Ligne, 2).EntireRow.Copy Sheets("pax_GBI").Range("A" & Range("A65536").End(xlUp).Row + 1) .........etc
J'ai adapté votre réponse à mon cas en changeant les noms de feuilles et cela fonctionne, mais je n'arrive pas à créer plusieurs recherche...
Je vous cache pas que je ne maitrise pas VBA mais j'adore chercher, cependant je n'y arrive pas...
Je vous remercie.
Nurbo -
Salut et merci pour ta réponse.
Des toto il y en a 44 mais il me faudrait la possibilité d'en rajouter selon le besoin jusqu'à 100 environ.
Mais... puisque je débute je suis parti sur autre chose. Je suis passé en mode enregistrement de macro, puis j'ai crée une table de référence de mes toto dans un classeur B et sur le classeur A j'ai fait une condition avec recherchev qui me met 1 si le toto se trouve dans la table de référence, puis une somme de ces 1.
Le tout me renvoi un nombre et c'est ce nombre qui m'importait plus que les lignes en elles mêmes.
Encore merci, mais je crois vraiment que je vais devoir passer au bouquin pour y comprendre un peu plus....
@+