Autres Suppression ligne selon condition

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 !

abdernino1985

XLDnaute Junior
Bonjour ,

Je veux automatisé la suppression de ligne selon un critère qui est la "GARANTIE" , a chaque fois je filtre et je supprime le reste mais parfois ça prend du temps .
1- je supprime toute les lignes je laisse que la garantie 100110.
2- je supprime toute les lignes je laisse que la garantie 030110,030112,030113,030114
comment je peux automatisé ca avec une macro .
 

Pièces jointes

Solution
Re,

Encore une fois tu es imprécis. Il es où le calcul s.a ? Et qui t'empêche de désactiver le calcul automatique en début de macro et de réactiver ensuite ?

VB:
Private Sub CommandButton1_Click() 'bouton "Valider"
Dim O As Worksheet 'déclare la variable O (onglet)
Dim DL As Integer
Dim PL As Range
Dim TC() As Variant
Dim TEST As Boolean

Application.Calculation = xlCalculationManual
Set O = Worksheets("Feuil1") 'définit l'onglet O
Set PL = O.Range("A1")
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row
TC = Array("030110", "030112", "030113", "030114")
Application.ScreenUpdating = False
If OptionButton1.Value = True Then
    For I = 2 To DL
        If CStr(O.Cells(I, "F")) <> "100110" Then Set PL = IIf(PL.Cells.Count =...
Bonjour Abdernino, bonjour le forum,

Toujours aussi difficile à comprendre !...
Comment peux-tu supprimer les ligne du point 2 puisque, d'après tes explications, seules restent les lignes dont la garantie est à 100110 après le point 1 !?...
 
Re,

Encore une fois tu es imprécis. Il es où le calcul s.a ? Et qui t'empêche de désactiver le calcul automatique en début de macro et de réactiver ensuite ?

VB:
Private Sub CommandButton1_Click() 'bouton "Valider"
Dim O As Worksheet 'déclare la variable O (onglet)
Dim DL As Integer
Dim PL As Range
Dim TC() As Variant
Dim TEST As Boolean

Application.Calculation = xlCalculationManual
Set O = Worksheets("Feuil1") 'définit l'onglet O
Set PL = O.Range("A1")
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row
TC = Array("030110", "030112", "030113", "030114")
Application.ScreenUpdating = False
If OptionButton1.Value = True Then
    For I = 2 To DL
        If CStr(O.Cells(I, "F")) <> "100110" Then Set PL = IIf(PL.Cells.Count = 1, O.Rows(I), Application.Union(PL, O.Rows(I)))
    Next I
    PL.Delete
End If
If OptionButton2.Value = True Then
    For I = 2 To DL
        TEST = False
        For J = 0 To 3
            If CStr(O.Cells(I, "F")) = TC(J) Then TEST = True
        Next J
        If TEST = False Then Set PL = IIf(PL.Cells.Count = 1, O.Rows(I), Application.Union(PL, O.Rows(I)))
    Next I
    PL.Delete
End If
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Unload Me
End Sub

Profite ! C'est mon dernier post avec toi... Tu fais désormais partie de ma grande liste des ...
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 Excel - Macro
Réponses
14
Affichages
609
Réponses
5
Affichages
265
Retour