Bonjour,

J'utilise actuellement un code qui me permet de "selectionner" les lignes de mon tableau situes entre 2 dates. je rentre dans des textbox les 2 dates de mon choix et mon programme supprime toute les lignes qui ne sont pas compris entre c'est deux dates.
Comme je travaille sur de grand tableau le temps de suppression est execivement long. J'aimerais donc optimiser ce programme.

voici mon code actuel:

+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Private Sub CommandButton1_Click()
Dim D1 As Long
Dim D2 As Long
Dim EndNolig As Long
Dim Nolig As Long
Dim D1Lig As Long
Dim D2Lig As Long
Dim compt As Boolean
Dim j As Long
Dim i As Long
 
compt = 0
D1 = UserForm1.TextBox1.Value
D2 = UserForm1.TextBox2.Value
 
EndNolig = Worksheets("TED Defects 501").Range("A" & Rows.Count).End(xlUp).Row + 2
Nolig = EndNolig
For Nolig = EndNolig To 3 Step -1
 
    If Worksheets("Do not Alter 501").Cells(Nolig, 4).Value = D1 Then
        D1Lig = Nolig
    End If
    If Worksheets("Do not Alter 501").Cells(Nolig, 4).Value = D2 And compt = 0 Then
        D2Lig = Nolig
        compt = 1
    End If
    Nolig = Nolig - 1
Next
 
For j = EndNolig To D2Lig + 1 Step -1
    Worksheets("Do not Alter 501").Cells(j, 1).EntireRow.Delete Shift:=xlUp
 
Next
For i = D1Lig - 1 To 3 Step -1
    Worksheets("Do not Alter 501").Cells(i, 1).EntireRow.Delete Shift:=xlUp
Next
UserForm1.Hide
End Sub
J'ai pense a faire un copier coller de la zone que je souhaite garder est-ce une bonne idee?
Avez vous d'autre idees ?
merci
Adam