Supprimer une ligne avec condition
Résolu/Fermé
mohamed
-
Modifié par pijaku le 4/08/2016 à 11:34
mohamed_2016 Messages postés 31 Date d'inscription mardi 2 août 2016 Statut Membre Dernière intervention 19 août 2016 - 4 août 2016 à 12:41
mohamed_2016 Messages postés 31 Date d'inscription mardi 2 août 2016 Statut Membre Dernière intervention 19 août 2016 - 4 août 2016 à 12:41
A voir également:
- Supprimer une ligne avec condition
- Supprimer une page word - Guide
- Excel cellule couleur si condition texte - Guide
- Supprimer compte instagram - Guide
- Partager photos en ligne - Guide
- Aller à la ligne excel - Guide
3 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
Modifié par ThauTheme le 2/08/2016 à 15:35
Modifié par ThauTheme le 2/08/2016 à 15:35
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
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
2 août 2016 à 17:48
2 août 2016 à 17:48
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
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
4 août 2016 à 11:14
4 août 2016 à 11:14
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 !...
mohamed_2016
Messages postés
31
Date d'inscription
mardi 2 août 2016
Statut
Membre
Dernière intervention
19 août 2016
4 août 2016 à 12:41
4 août 2016 à 12:41
bonjour ThauTheme
merci beaucoup pour votre aide
bonne journée
cordialement Mohamed
merci beaucoup pour votre aide
bonne journée
cordialement Mohamed
2 août 2016 à 15:37
2 août 2016 à 16:21
Modifié par mohamed_2016 le 2/08/2016 à 16:26