Excel : Afficher un cursor animé [Résolu]

babu26 44 Messages postés samedi 8 juin 2013Date d'inscription 21 janvier 2015 Dernière intervention - 2 oct. 2014 à 18:48 - Dernière réponse : babu26 44 Messages postés samedi 8 juin 2013Date d'inscription 21 janvier 2015 Dernière intervention
- 5 oct. 2014 à 09:14
Bonjour,
Pendant une phase de macro pouvant durer quelques minutes, comment figer toutes actions dans un classeur et afficher un sablier animé (ou toute autre image qui tournerait).
Merci.
D'autre part : une FAQ est-elle consultable ? Si oui, où ? Bab
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 3 oct. 2014 à 07:06
1
Merci
Ce que tu pourrais faire beaucoup plus astucieusement :
pendant le déroulement de ta macro, afficher un userform dont la propriété ShowModal est à True.
Il sera dès lors impossible à l'utilisateur d'accéder, pendant toute la durée de cet affichage, à ton classeur, que ce soit avec la souris ou avec le clavier.
Profite de ce userform pour y afficher ce que tu veux (message d'attente, par exemple)
Pour empêcher l'utilisateur de fermer lui-même ce Userform : ==>> rien de plus simple : utilise son évènement queryclose et décide de la valeur à donner à cancel en fonction de ce que c'est l'utilisateur qui demande à "sortir" (closemode = vbFormControlMenu) ou que cette commande est faite par code (closemode = vbFormControlMenu
A la fin de ta macro : instruction de fermer ce userform
C'est là une démarche plus prudente.

Merci ucfoutu 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

babu26 44 Messages postés samedi 8 juin 2013Date d'inscription 21 janvier 2015 Dernière intervention - 5 oct. 2014 à 09:14
Bonjour.
Pb. résolu par une image couvrant la totalité de la feuille, affichant Patience, je travaille; Je pourrais aussi rendre invisible tous les boutons de commande (?).
Merci toutefois de ta rréponse, quoique je ne sais ouvrir un autre userform.
Bab
Commenter la réponse de ucfoutu
cs_MPi 3872 Messages postés mardi 19 mars 2002Date d'inscription 13 juillet 2018 Dernière intervention - 2 oct. 2014 à 20:22
0
Merci
Ceci peut-être ?
    Application.Cursor = xlWait
Application.Cursor = xlDefault

Mais ça n'empêchera personne d'aller se promener ailleurs que sur ton fichier. Le mieux serait peut-être de leur mettre un message explicatif en début de macro "À vos risques et péril si vous cliquez quelque chose..." :)
Commenter la réponse de cs_MPi
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 2 oct. 2014 à 23:17
0
Merci
Bonjour,
comment figer toutes actions dans un classeur
veut dire que tu veux empêcher l'utilisateur d'utiliser sa souris et son clavier.
Une fonction de la librairie User32 de l'Api de Windows te permet de le faire. Il s'agit de la fonction BlockInput.
Je ne te conseille certainement pas de l'utiliser, bien au contraire, car il suffirait d'une interruption inopinée (un bug dans ta macro ou n'importe quoi allant de travers pour que tout reste bloqué !)

Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.