Macro très très lente

Bonjour,

J'ai ce code qui est très très lent :

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
For i = 2 To Worksheets("controle banc 2w Aout 2012").Range("A" & Rows.Count).End(xlUp).Row
a = i + 1
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Worksheets("controle banc 2w Aout 2012").Rows(a).Delete
Next
End Sub

que faire

Bonjour

Essayes

Private Sub CommandButton1_Click()
  Application.ScreenUpdating = False
  With Sheets("controle banc 2w Aout 2012")
    If .Range("A3") <> "" Then
      .Rows(3 & ":" & .Range("A" & Rows.Count).End(xlUp).Row).Delete
    End If
  End With
End Sub

Merci beaucoup!

j'ai modifié le code par celui ci :

Private Sub CommandButton1_Click()
Dim i As Long
  Application.ScreenUpdating = False
  With Sheets("controle banc 2w Aout 2012")

Lignes = TextBox1.Value

For i = 2 To .Range("B" & Rows.Count).End(xlUp)
    If .Range("B" & i) <> "" Then
      .Rows(i + 1 & ":" & .Range("B" & i + Lignes).Row).Delete
    End If
'i = i + 3
Next
End With
End Sub

Cependant c'est encore très très long

Rechercher des sujets similaires à "macro tres lente"