retarder l'execution de SelectionChange

thilam

XLDnaute Junior
Bonjour tout le monde!
Mon problème est assez simple (à énoncer seulement, je le crains): j'affiche un Shape chaque fois que je sélectionne une cellule de ma feuille (event SelectionChange). J'aimerais que cette macro évenementielle ne se déclenche que si je reste 1 ou 2 seconde sur la cellule en question et pas quand je me déplace dans la feuille à l'aide des flêches car ça ralentit le défilement.
C'est possible?
Merci
Cdt
Th
 

gwenlorin

XLDnaute Occasionnel
Re : retarder l'execution de SelectionChange

Tu peux essayer avec un timer
ci-joint un exemple

Code:
Dim start, fin

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
start = Timer
fin = start
Do While fin <= start + 2
fin = Timer
Loop

If fin > start + 2 Then MsgBox "déclenchement"

End Sub
 
Dernière édition:

thilam

XLDnaute Junior
Re : retarder l'execution de SelectionChange

Bjr Gwen
J'avais bien pensé à faire un truc comme ça mais ça me bloquait tant que la procédure ne s'était pas terminée. Je m'explique: si je maintient la touche flêche droite appuyée pour me déplacer de cellules en cellules, à chaque changement de cellule, l'event va me bloquer dans mon déplacement tant que je n'aurais pas atteint la limite de temps fixée.

J'ai trouvé la solution avec Doevents. Ca marche!

Pour ceux que ça intéresse:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
depart = Time
While Time < depart + TimeValue("0:00:01")
DoEvents
Wend

procédure.......

end Sub

Merci
Th
 

Statistiques des forums

Discussions
312 499
Messages
2 089 000
Membres
104 002
dernier inscrit
SkrauzTTV