Excel : Afficher un cursor animé

Résolu
babu26 Messages postés 44 Date d'inscription samedi 8 juin 2013 Statut Membre Dernière intervention 21 janvier 2015 - 2 oct. 2014 à 18:48
babu26 Messages postés 44 Date d'inscription samedi 8 juin 2013 Statut Membre Dernière intervention 21 janvier 2015 - 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
A voir également:

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 oct. 2014 à 07:06
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.
1
babu26 Messages postés 44 Date d'inscription samedi 8 juin 2013 Statut Membre Dernière intervention 21 janvier 2015
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
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
2 oct. 2014 à 20:22
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..." :)
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 oct. 2014 à 23:17
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é !)

0
Rejoignez-nous