Supprimer une ligne avec condition
Résolu
mohamed
-
mohamed_2016 Messages postés 33 Statut Membre -
mohamed_2016 Messages postés 33 Statut Membre -
Bonjour,
je veux supprimer une ligne parmi 100 lignes qui contient des donnés fausses
pouvez vous m'aider
merci
et voila mon tentative:
je veux supprimer une ligne parmi 100 lignes qui contient des donnés fausses
pouvez vous m'aider
merci
et voila mon tentative:
Sub clear() Sheets(1).Range("valeurs").Select Set ActiveRange = ThisWorkbook.Sheets(1).Range("A2:A22") For i = 1 To 22 ActiveRange.Offset(i - 1, 0).Select Selection.SpecialCells(xlCellTypeVisible).Select If Range("valeur").Offset(i - 1, 0).Value = "has" Then Cells.clear Cells.EntireRow.Delete End If Next End Sub
A voir également:
- Supprimer une ligne avec condition
- Supprimer rond bleu whatsapp - Guide
- Supprimer une page word - Guide
- Partager photos en ligne - Guide
- Excel cellule couleur si condition texte - Guide
- Comment supprimer une application préinstallée sur android - Guide
3 réponses
Bonjour Mohamed, bonjour le forum,
Quand on veut supprimer des lignes, il est d'usage de commencer par la fin en remontant (une boucle inversée) pour éviter une mauvaise interprétation.
De 1 à 22 pour moi ça fait pas 100 lignes ?!...
Essaie comme ça (si j'ai bien compris) :
À plus,
ThauTheme
Quand on veut supprimer des lignes, il est d'usage de commencer par la fin en remontant (une boucle inversée) pour éviter une mauvaise interprétation.
De 1 à 22 pour moi ça fait pas 100 lignes ?!...
Essaie comme ça (si j'ai bien compris) :
Sub Macro1() DIM DL As Integer Dim I As Byte DL = Range("A" & Application.Rows.Count).End(xlup).Row For I = DL To 1 Step -1 If Cells(I, 1).Value = "has" Then Rows(I).Delete Next I End Sub
À plus,
ThauTheme
mohamed_2016
Messages postés
33
Statut
Membre
Grand merci ThauTheme ,je veux l'essayer
mohamed_2016
Messages postés
33
Statut
Membre
oui elle fonctionne comme il faut,, juste Dim I as integer non byte
mohamed_2016
Messages postés
33
Statut
Membre
si je veut supprimer une ligne qui contient n'importe quel "mot" exemple :has, ham et hat etc... sauf les nombres comment va se changer le code cher ami
Bonjour Mohamed, bonjour le forum,
Oui, tu as raison Integer pour I... Essaie ce nouveau code :
Oui, tu as raison Integer pour I... Essaie ce nouveau code :
Sub Macro1() Dim DL As Integer Dim I As Integer Application.ScreenUpdating = False DL = Range("A" & Application.Rows.Count).End(xlUp).Row For I = DL To 1 Step -1 If Not IsNumeric(Cells(I, 1).Value) = True Then Rows(I).Delete Next I Application.ScreenUpdating = True End Sub
Bonjour Mohamed, bonjour le forum,
Elle masque les rafraîchissements d'écran. Tu gagnes tu temps car tu ne vois pas les lignes s'effacer les unes après les autres. La macro les supprime et à la fin tu ne vois que les lignes restantes d'un seul coup. Pense toujours à remettre à [True] à la fin du code.
Maintenant, il existe l'aide VBA qui en sélectionnant un mot que tu ne connais pas et avec la touche [F1] te fournira une aide détaillée et souvent très efficace... A utiliser sans modération !...
Elle masque les rafraîchissements d'écran. Tu gagnes tu temps car tu ne vois pas les lignes s'effacer les unes après les autres. La macro les supprime et à la fin tu ne vois que les lignes restantes d'un seul coup. Pense toujours à remettre à [True] à la fin du code.
Maintenant, il existe l'aide VBA qui en sélectionnant un mot que tu ne connais pas et avec la touche [F1] te fournira une aide détaillée et souvent très efficace... A utiliser sans modération !...