Détection d'une cellule qui change

Bonjour,

J'utilise la routine ci dessous pour savoir si la cellule J39 a changé:

Private Sub worksheet_change(ByVal target As Range)
If target.Address = "$J$39" Then
exécution d'une routine qui déplace (donc change) quelques centaines de cellule
end if
end sub

La question:
Si, chaque fois qu'une cellule change, l'on appelle cette routine, cela va prendre un temps de fou si des centaines ou des milliers de cellules se déplacent.

Est ce que Excel travaille vraiment comme cela et comment éviter cela ?

Merci pour vos expériences

Jean-Pierre
Excel 2016

bonsoir,

dans ce cas, il faut utiliser une instruction pour désactiver la gestion des événèments et la réactiver après

application.enableevents=false

et

application.enableevents=true

donc quelque chose comme ceci

Private Sub worksheet_change(ByVal target As Range)
If target.Address = "$J$39" Then
application.enableevents=false
exécution d'une routine qui déplace (donc change) quelques centaines de cellule
application.enableevents=true
end if
end sub

Bonjour,
Bonjour h2so4,
Avec une petite gestion d'erreur !?
Cdlt.

Private Sub worksheet_change(ByVal target As Range)

    On Error GoTo errHandler

    If target.Address = "$J$39" Then
        Application.EnableEvents = False
        'code
        'code
        'code
    End If

exitHandler:
    Application.EnableEvents = True
    Exit Sub
errHandler:
    MsgBox "Erreur : " & Err.Number & Chr(10) & Err.Description
    Resume exitHandler
End Sub

Bonjour,

Merci pour cette info.

Après quelques essais je me suis rendu compte que:

- Le déplacement d'une cellule est détecté comme deux changements (c'est normal la cellule de départ devient vide et la cellule d'arrivée a une nouvelle valeur)

- Le déplacement de plusieurs cellules en même temps provoque aussi seulement deux changements comme s'il s'agissait d'une seule cellule.

Mon problème n'en était donc pas un. On peut déplacer x cellules en une fois et cella n'appellera la routine que 2 fois et pas pour chaque changement de cellules.

Problème résolu.
Merci encore

Rechercher des sujets similaires à "detection qui change"