Aide - Recherche - Membres - Calendrier
Version complète : Excel 97
Trucs et astuces Express > Discussions Informatique > Microsoft Office 2003 / 2007 > Excel
Avaaz
Dans une feuille de calcul, j'aimerais que lorsque l'utilisateur change la valeur d'une cellule qu'il se passe l'évènement suivant :

La feuille reste affichée (après le changement) pour un temps précis, par exemple 45 secondes,
la cellule est remise à 0 (zéro) ou "" (rien),
le fichier Excel change de feuille (par exemple de feuille 1 à feuille 2)

----------------
Si l'utilisateur ne change pas la valeur de la cellule, Excel attend.
----------------

Comment puis-je écrire une macro pour obtenir ce résultat ?
michel_m
Bonjour,

Macro à copier-coller dans le module feuil1 de l'éditeur VBE (clic droit sur l'onglet feuil1 puis "visualiser le code"

dans cet exemple la zone active est B2:D5 et l'attente (pause)est de 3 secondes. A toi d'adapter
CODE
Private Sub Worksheet_Change(ByVal Target As Range)
Static flag As Boolean

If flag = True Then
    Sheets(2).Activate
    flag = False
    Exit Sub
End If

If Intersect(Target, Range("B2:D5")) Is Nothing Then: Exit Sub

Pause = 3
Start = Timer
Do While Timer < Start + Pause
    DoEvents
Loop

flag = True
Target.ClearContents

End Sub
Avaaz
Merci beaucoup pour le coup de pouce.
Ceci une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquez ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.