Accélérer une macros VBA

Bonjour,

Je fais appel aux experts du forum pour savoir s'il est possible d’accélérer cette macro.

Merci par avance.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("a2")) Is Nothing Then
        If Target.Count > 6 Then Exit Sub
        Range("a4:i1000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("a1:a2"), Unique:=False
    End If
End Sub
6demo.zip (40.60 Ko)

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
    If Not Application.Intersect(Target, Range("a2")) Is Nothing Then
        If Target.Count > 6 Then Exit Sub
        Range("a4:i1000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("a1:a2"), Unique:=False
    End If
Application.EnableEvents = True
End Sub

Bonsoir,

Merci pour ton aide mais sa rame toujours ( au moment où on termine la recherche en effaçant la cellule A).

Bonjour,

sur mon pc, cela se fait en une fraction de seconde,

peut être que votre pc est du pour un restart.

Qu'entendez vous par peut être que votre pc est du pour un restart?

Qu'entendez vous par peut être que votre pc est du pour un restart?

fermer tous les applications, éteindre le pc, puis allumer le PC

J'ai trouvé la solution alors certes mon PC est surement pour quelque chose

Le truc c'est que le fichier dans lequel j'utilise la macro comporte beaucoup de formule donc sa ramait.

Je donne la solution si cela peut servir à d'autre personnes.

Désactiver le calcul automatic:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Application.Calculation = xlManual ' bloque le calcul automatique.
Application.EnableEvents = False
    If Not Application.Intersect(Target, Range("W20")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        Range("B22:F500").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("W19:W20"), Unique:=False
    End If
    Application.Calculation = xlAutomatic ' met en place le calcul automatique
    Application.EnableEvents = True

    End Sub
Rechercher des sujets similaires à "accelerer macros vba"