Re : Empêcher un arrêt dans la procédure lors affichage userform
application.status bar ne me satisfait pas car mon but est de cacher le recherche et le tri avant l'affichage final....voici mon code :
Private Sub CommandButton5_Click()
Dim numéro As Integer
Dim celluletrouvee As Range
Dim ligne As Integer
Dim col As Integer
ligne = 3
motachercher = TextBox1.Value
motachercher2 = TextBox3.Value
If TextBox4.Value = "" Then an = ""
an = TextBox4.Value
Sheets("feuil3").Range("h1") = an
If UserForm1.CheckBox1.Value = True Then GoTo exact
Sheets("feuil2").Activate
For n = 1 To Sheets("feuil2").Range("A65536").End(xlUp).Row
If InStr(1, Cells(n, 2).Value, motachercher, vbTextCompare) <> 0 And InStr(1, Cells(n, 2).Value, motachercher2, vbTextCompare) <> 0 Then
If Sheets("feuil2").Range("f" & n) = Sheets("feuil3").Range("h1") Then GoTo suite
If Sheets("feuil3").Range("h1") = "" Then GoTo suite
GoTo prochain
suite:
Sheets("feuil3").Range("A" & ligne) = Sheets("feuil2").Range("E" & n)
Sheets("feuil3").Range("B" & ligne) = Sheets("feuil2").Range("b" & n)
Sheets("feuil3").Range("c" & ligne) = Sheets("feuil2").Range("A" & n)
Sheets("feuil3").Range("d" & ligne) = Sheets("feuil2").Range("C" & n)
Sheets("feuil3").Range("e" & ligne) = Sheets("feuil2").Range("D" & n)
Sheets("feuil3").Range("f" & ligne) = Sheets("feuil2").Range("g" & n)
Sheets("feuil3").Range("g" & ligne) = Sheets("feuil2").Range("h" & n)
ligne = ligne + 1
End If
prochain:
Next n
GoTo fin
exact:
ligne = 3
motachercher = TextBox1.Value
motachercher2 = TextBox3.Value
Sheets("feuil2").Select
For n = 1 To Sheets("feuil2").Range("A65536").End(xlUp).Row
If DeuxMots(Cells(n, 2).Value, TextBox1.Value, TextBox3.Value) Then
If Sheets("feuil2").Range("f" & n) = Sheets("feuil3").Range("h1") Then GoTo suite2
If Sheets("feuil3").Range("h1") = "" Then GoTo suite2
GoTo prochain2
suite2:
Sheets("feuil3").Range("A" & ligne) = Sheets("feuil2").Range("E" & n)
Sheets("feuil3").Range("B" & ligne) = Sheets("feuil2").Range("b" & n)
Sheets("feuil3").Range("c" & ligne) = Sheets("feuil2").Range("A" & n)
Sheets("feuil3").Range("d" & ligne) = Sheets("feuil2").Range("C" & n)
Sheets("feuil3").Range("e" & ligne) = Sheets("feuil2").Range("D" & n)
Sheets("feuil3").Range("f" & ligne) = Sheets("feuil2").Range("g" & n)
Sheets("feuil3").Range("g" & ligne) = Sheets("feuil2").Range("h" & n)
ligne = ligne + 1
End If
prochain2:
Next n
fin:
Sheets("feuil3").Activate
Range("A2:G50000").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
For c = 4 To 1000 Step 2
Range("a" & c, "g" & c).Select
Selection.Interior.ColorIndex = 15
Next c
Sheets("feuil3").Select
Range("A3").Select
Unload UserForm1