Macro pour supprimer une ligne !
bre 79
-
bre79 -
bre79 -
Bonjour,
je débute en VBA sur excel 2007, et je voudrai supprimer toutes les lignes qui ne contiendrai pas un texte connu comme " abc " dans une plage donnée.
j'ai fait ceci mais le problème c'est que ça me supprime la 1ère ligne et non celle qui contient le texte " abc "
sub supprimer()
'
' supprimer Macro
'
'
For Each Cell In Range("C9,C100")
If Cell.Value = " abc " Then ActiveCell.EntireRow.Select
Selection.Delete
Next
Range("A1").Select
End Sub
Merci pour votre aide
je débute en VBA sur excel 2007, et je voudrai supprimer toutes les lignes qui ne contiendrai pas un texte connu comme " abc " dans une plage donnée.
j'ai fait ceci mais le problème c'est que ça me supprime la 1ère ligne et non celle qui contient le texte " abc "
sub supprimer()
'
' supprimer Macro
'
'
For Each Cell In Range("C9,C100")
If Cell.Value = " abc " Then ActiveCell.EntireRow.Select
Selection.Delete
Next
Range("A1").Select
End Sub
Merci pour votre aide
A voir également:
- Macro pour supprimer une ligne !
- Supprimer rond bleu whatsapp - Guide
- Supprimer une page word - Guide
- Partager photos en ligne - Guide
- Supprimer pub youtube - Accueil - Streaming
- Mètre en ligne - Guide
3 réponses
non, ce que je veux faire, c'est supprimer toutes les lignes ne contenant pas un texte précis comme "abc" et conserver la ligne contenant ce texte.
j'espère avoir été plus précis!
j'espère avoir été plus précis!
Sub supprimer()
For Each cell In Range("C9:C100")
If cell.Value <> " abc " Then Rows(cell.Row).Delete
Next
End Sub
For Each cell In Range("C9:C100")
If cell.Value <> " abc " Then Rows(cell.Row).Delete
Next
End Sub
ta proposition m'efface bien les lignes mais plutôt bizarrement ! Et même que si je lance la macro plusieurs fois successivement, alors toutes les lignes disparaissent sans tenir compte de mon texte ???
En fait, la ou les lignes ayant mon texte ( mon texte correspond à des noms de personne comme Dupond, Durand,... ) et moi je veux garder toutes les lignes qui auraient dans la colonne C "Dupond" et supprimer toutes les autres qui auraient dans la colonne C "Durand, Duprés...). Je ne sais pas si je m'explique bien.
Si tu vois une solution, merci de prendre un peu de ton temps.
En fait, la ou les lignes ayant mon texte ( mon texte correspond à des noms de personne comme Dupond, Durand,... ) et moi je veux garder toutes les lignes qui auraient dans la colonne C "Dupond" et supprimer toutes les autres qui auraient dans la colonne C "Durand, Duprés...). Je ne sais pas si je m'explique bien.
Si tu vois une solution, merci de prendre un peu de ton temps.
ton lien #1
et je voudrai supprimer toutes les lignes qui ne contiendrai pas un texte connu comme " abc " dans une plage donnée.
ta macro
If Cell.Value = " abc " Then ActiveCell.EntireRow.Select
Selection.Delete ou tu cherches a éliminer les lignes comprenant " abc " (les espaces avant et après c'est quoi ?)
ton lien #2
moi je souhaite conserver la ou les lignes qui contiennent le texte "abc" (plus d'espace?)
ton lien#6
moi je veux garder toutes les lignes qui auraient dans la colonne C "Dupond" y'a plus d'espace avant et après le mot (hé oui c'est important: " abc " est différend se "abc")?
Je ne sais pas si je m'explique bien. NON
et je voudrai supprimer toutes les lignes qui ne contiendrai pas un texte connu comme " abc " dans une plage donnée.
ta macro
If Cell.Value = " abc " Then ActiveCell.EntireRow.Select
Selection.Delete ou tu cherches a éliminer les lignes comprenant " abc " (les espaces avant et après c'est quoi ?)
ton lien #2
moi je souhaite conserver la ou les lignes qui contiennent le texte "abc" (plus d'espace?)
ton lien#6
moi je veux garder toutes les lignes qui auraient dans la colonne C "Dupond" y'a plus d'espace avant et après le mot (hé oui c'est important: " abc " est différend se "abc")?
Je ne sais pas si je m'explique bien. NON
Désolé pour ces explications scabreuses ! Je reprends tout
Sur une feuille, les cellules d'une colonne contiennent que des noms de personne. Il n'y a pas d'espace avant le nom ni après.
Prenons par exemple la colonne C, en C5 elle contient Durant
en C6 elle contient Dupont
en C7 elle contient Duval
en C8 elle contient Dupont ( à nouveau )
en C9 elle contient Duprés
en C10 elle contient Dujardin
en C11 elle contient Dupont ( à nouveau )
Je veux conserver que les lignes dont le nom de la colonne C est Dupont ( lignes 6 ; 8 ; 11 ) et supprimer toutes les autres c.a.d. les lignes 5 ; 7 ; 9
Est-ce possible ?
N.B. : j'espère que tu comprendras bien cette fois ci mon problème.
Sur une feuille, les cellules d'une colonne contiennent que des noms de personne. Il n'y a pas d'espace avant le nom ni après.
Prenons par exemple la colonne C, en C5 elle contient Durant
en C6 elle contient Dupont
en C7 elle contient Duval
en C8 elle contient Dupont ( à nouveau )
en C9 elle contient Duprés
en C10 elle contient Dujardin
en C11 elle contient Dupont ( à nouveau )
Je veux conserver que les lignes dont le nom de la colonne C est Dupont ( lignes 6 ; 8 ; 11 ) et supprimer toutes les autres c.a.d. les lignes 5 ; 7 ; 9
Est-ce possible ?
N.B. : j'espère que tu comprendras bien cette fois ci mon problème.
La solution ci-dessous ne me supprime pas toutes les lignes souhaitées.
Sub supprimer()
For Each cell In Range("C9:C100")
If cell.Value <> "Dupond" Then Rows(cell.Row).Delete
Next
End Sub
Par contre j'ai écrit cette boucle dans ma macro, et elle répond entièrement à mon problème.
Dim i As Integer
For i = 100 To 10 Step -1
If Cells(i, 6) <> "Dupond" Then
Rows(i).Delete
End If
Next
Merci à tous de votre aide.
Sub supprimer()
For Each cell In Range("C9:C100")
If cell.Value <> "Dupond" Then Rows(cell.Row).Delete
Next
End Sub
Par contre j'ai écrit cette boucle dans ma macro, et elle répond entièrement à mon problème.
Dim i As Integer
For i = 100 To 10 Step -1
If Cells(i, 6) <> "Dupond" Then
Rows(i).Delete
End If
Next
Merci à tous de votre aide.
As tu une solution ?
dans ta macro, tu veux supprimer les lignes des cellules de valeur " abc " or tu me dis vouloir supprimer celles qui ne contiennent pas " abc "
question dans les cellules peut il y avoir " abc " encadré par d'autres données genre "ssss abc 34zzz" et alors supprimer la ligne correspondante .