OVH Cloud OVH Cloud

Macro événementielle

4 réponses
Avatar
Gaston
Bonjour à tous et à toutes
Je me suis fait une macro comme suis:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
t = 120
fin = Timer + t
Do While Timer <= fin
DoEvents
Loop
End Sub
Mon problème est que mon menu contextuel aparaît partout sauf lorsque je
clique sur une ligne ou sur une colonne pour insérer une ligne ou une colonne
par exemple. Le menu n'aparaît plus.
Votre aide sera grandement apprécié.
Gaston

4 réponses

Avatar
Ange Ounis
Je ne comprends pas quel peut être le lien entre cette macro, qui boucle pendant
2 minutes sans exécuter aucune autre action que d'autoriser l'exécution des
événements en file d'attente, et les menus contextuels d'Excel.
Difficile d'aider dans ces conditions..

----------
Ange Ounis
----------

Bonjour à tous et à toutes
Je me suis fait une macro comme suis:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
t = 120
fin = Timer + t
Do While Timer <= fin
DoEvents
Loop
End Sub
Mon problème est que mon menu contextuel aparaît partout sauf lorsque je
clique sur une ligne ou sur une colonne pour insérer une ligne ou une colonne
par exemple. Le menu n'aparaît plus.
Votre aide sera grandement apprécié.
Gaston


Avatar
Gaston
Bonjour,
Il y a autre que chose que je n'ai pas écrit.
La macro met le temps restant dans la barre d'état, elle fait fermer le
fichier automatiquement après 2 minutes s'il n'y a pas eu aucun changement de
sélection sur la feuille.
Les gens doivent pourvoir travailler sur la feuille
Gaston

"Ange Ounis" wrote:

Je ne comprends pas quel peut être le lien entre cette macro, qui boucle pendant
2 minutes sans exécuter aucune autre action que d'autoriser l'exécution des
événements en file d'attente, et les menus contextuels d'Excel.
Difficile d'aider dans ces conditions..

----------
Ange Ounis
----------

Bonjour à tous et à toutes
Je me suis fait une macro comme suis:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
t = 120
fin = Timer + t
Do While Timer <= fin
DoEvents
Loop
End Sub
Mon problème est que mon menu contextuel aparaît partout sauf lorsque je
clique sur une ligne ou sur une colonne pour insérer une ligne ou une colonne
par exemple. Le menu n'aparaît plus.
Votre aide sera grandement apprécié.
Gaston





Avatar
Ange Ounis
Les gens doivent pourvoir travailler sur la feuille


C'est bien ça le problème avec l'utilisation d'un Timer en VBA : même avec des
DoEvents en pagaille, ça tourne en permanence et ça consomme du temps pendant
lequel Excel, qui n'est pas programmable en multithread, ne peut _rien_ faire.
D'où, pour l'utilisateur, un fonctionnement qui devient vite agaçant : sélection
à retardement, menu qui tarde à apparaître, etc.
De mon point de vue c'est insoluble et il y a longtemps que j'ai abandonné tout
ce qui est Timer, horloge, chronomètre, etc. avec Excel...
Bon courage.

----------
Ange Ounis
----------

Bonjour,
Il y a autre que chose que je n'ai pas écrit.
La macro met le temps restant dans la barre d'état, elle fait fermer le
fichier automatiquement après 2 minutes s'il n'y a pas eu aucun changement de
sélection sur la feuille.
Les gens doivent pourvoir travailler sur la feuille
Gaston

"Ange Ounis" wrote:

Je ne comprends pas quel peut être le lien entre cette macro, qui boucle pendant
2 minutes sans exécuter aucune autre action que d'autoriser l'exécution des
événements en file d'attente, et les menus contextuels d'Excel.
Difficile d'aider dans ces conditions..

----------
Ange Ounis
----------

Bonjour à tous et à toutes
Je me suis fait une macro comme suis:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
t = 120
fin = Timer + t
Do While Timer <= fin
DoEvents
Loop
End Sub
Mon problème est que mon menu contextuel aparaît partout sauf lorsque je
clique sur une ligne ou sur une colonne pour insérer une ligne ou une colonne
par exemple. Le menu n'aparaît plus.
Votre aide sera grandement apprécié.
Gaston






Avatar
Gaston
Merci Ange
J'ai toujours "des effets secondaire" à régler avec ce genre de commande
J'ai mis un bouton qui désactive la minuterie lorsque quelqu'un veut insérer
une ligne ou autre. Elle se remet à l'ouverture du classeur.
Je vais y aller avec modération avec de genre de commande.
Merci
Gaston


"Ange Ounis" wrote:

Les gens doivent pourvoir travailler sur la feuille


C'est bien ça le problème avec l'utilisation d'un Timer en VBA : même avec des
DoEvents en pagaille, ça tourne en permanence et ça consomme du temps pendant
lequel Excel, qui n'est pas programmable en multithread, ne peut _rien_ faire.
D'où, pour l'utilisateur, un fonctionnement qui devient vite agaçant : sélection
à retardement, menu qui tarde à apparaître, etc.
De mon point de vue c'est insoluble et il y a longtemps que j'ai abandonné tout
ce qui est Timer, horloge, chronomètre, etc. avec Excel...
Bon courage.

----------
Ange Ounis
----------

Bonjour,
Il y a autre que chose que je n'ai pas écrit.
La macro met le temps restant dans la barre d'état, elle fait fermer le
fichier automatiquement après 2 minutes s'il n'y a pas eu aucun changement de
sélection sur la feuille.
Les gens doivent pourvoir travailler sur la feuille
Gaston

"Ange Ounis" wrote:

Je ne comprends pas quel peut être le lien entre cette macro, qui boucle pendant
2 minutes sans exécuter aucune autre action que d'autoriser l'exécution des
événements en file d'attente, et les menus contextuels d'Excel.
Difficile d'aider dans ces conditions..

----------
Ange Ounis
----------

Bonjour à tous et à toutes
Je me suis fait une macro comme suis:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
t = 120
fin = Timer + t
Do While Timer <= fin
DoEvents
Loop
End Sub
Mon problème est que mon menu contextuel aparaît partout sauf lorsque je
clique sur une ligne ou sur une colonne pour insérer une ligne ou une colonne
par exemple. Le menu n'aparaît plus.
Votre aide sera grandement apprécié.
Gaston