Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

supprimer les lignes avec une valeur dans une colonne

  • Initiateur de la discussion Initiateur de la discussion kastor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kastor

Guest
Bonjour,

J'ai une question assez simple, mais ma mémoire me fait défaut (sur la réponse.... 😕).

quelle est la macro pour supprimer toutes les lignes d'une feuille qui ont en colonne A la valeur "2013" (par exemple)

Merci d'avance de m'aider à retrouver la mémoire.
 
Re : supprimer les lignes avec une valeur dans une colonne

Bonjour Kastor,

Tu peux utiliser par exemple:

Code:
Dim i As Integer, Ws As Worksheet

Set Ws = Sheets("Feuil1")
With Ws
For i = .Range("A65536").End(xlUp).Row To 1 Step - 1

If .Range("A" & i).Value Like "*2013*" Then
.Rows(i).Delete
End if

Next i
End With

Bonne journée!
 
Re : supprimer les lignes avec une valeur dans une colonne

Merci, ça fonctionne correctement.

Par contre, j'ai peur du temps de calcul si je le lance sur ma base.
J'ai 10 000 ligne par valeur différente, et beaucoup de calcul.

est-il possible de passer par un filtre automatique pour le faire ?
 
Re : supprimer les lignes avec une valeur dans une colonne

Re Kastor,

Pour réduire le temps de traitement, tu peux modifier le code comme il suit:

Code:
Sub SupprimerLesLignes()

Application.ScreenUpdating = False
Application.Calculation = xlManual

Dim i As Integer, Ws As Worksheet

Set Ws = Sheets("Feuil1")
With Ws
For i = .Range("A65536").End(xlUp).Row To 1 Step -1

If .Range("A" & i).Value Like "*2013*" And Rows(i).Hidden = False Then
.Rows(i).Delete
End If

Next i
End With

Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub

Et effectivement si tu fais un filtre, avec l'instruction Rows(i).Hidden = False elle ne prendra en compte que les lignes non cachées.
 
Re : supprimer les lignes avec une valeur dans une colonne

Bonjour, kastor, VDAVID 🙂, le Forum,

Peut-être, également, comme ceci :

Code:
Sub Ligne_supprimer_si_2013_en_colonne_A()
Range("A1", Cells(Rows.Count, "A").End(xlUp)).AutoFilter Field:=1, Criteria1:="2013"
Rows(1).EntireRow.Hidden = True
    With Cells
        .SpecialCells(xlCellTypeVisible).Delete Shift:=xlUp
        .AutoFilter
        .EntireRow.Hidden = False
    End With
End Sub

A bientôt 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…