Excel : Supprimer X lignes avec un meme mot
Résolu
jessipop6
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
A voir également:
- Excel : Supprimer X lignes avec un meme mot
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
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
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.
Si ccm81, de passage pouvait y jeter un oeil, on n'est jamais trop de deux...
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
bonne journée
ç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?) !!!
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 :
EDIT : je dis ça sur un sujet déserté par son auteur, et juste à titre de discussion et divers pinaillage!!!
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
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:
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
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....
@+
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....
@+
Jessipop6 avait ouvert 3 discussions sur le même thème et cette question a déjà été résolue par Pijaku et moi-même dans une autre discussion qui a malencontreusement été supprimée comme doublon. Donc je pense que Jessipop6 a déjà eu sa réponse.
Merci et A+ sur le Forum
Ben il conviendrait peut être de restaurer le doublon "résolu" et supprimer celui-ci. Non???