If Sheets(6).Range("E" & i) 0 Or Sheets(6).Range("D" & i) 0 Then GoTo Suivant End If
For i = 2 to 5 step 1 If ..... Then Next Else instruction End if Next
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPour le GoTo suivant c'est pour que s'il me trouve 0 il ne me calcule pas le % (que ça aille plus vite) A moins qu'il y ai une autre méthode plus simple sans GoTo ou plus rapide ?
Il y a-t-il d'autres méthodes comme celle-ci pour améliorer la vitesse d'exécution des macros?
20 seconde tout de même
Private Sub btnValiderAnalyse_Click() Dim Valeur As String Dim NbLigneBDDDe As Integer Application.ScreenUpdating = False NbLigneBDDDe = Worksheets(5).Cells(10000, 2).End(xlUp).Row Worksheets(6).Range("A3:Z500").clear Valeur = ComboBox1.Value For i = 3 To NbLigneBDDDe Step 1 If Worksheets(5).Range("B" & i).Value = Valeur Then Worksheets(6).Rows(3).Insert With Worksheets(5) .Activate .Range("A" & i & ":D" & i).Copy Destination:=Worksheets(6).Range("B3:E3") .Range("E" & i).Copy Destination:=Worksheets(6).Range("G3") .Range("F" & i & ":G" & i).Copy Destination:=Worksheets(6).Range("I3:J3") End With End If Next Unload Me '*************Filtres******************************************************* P5_ChoixDates.Show Application.ScreenUpdating = True Application.CutCopyMode = False End Sub