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

Messages postés
44
Date d'inscription
samedi 8 juin 2013
Dernière intervention
21 janvier 2015
- 2 oct. 2014 à 18:48 - Dernière réponse :
Messages postés
44
Date d'inscription
samedi 8 juin 2013
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
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
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é 92 internautes ce mois-ci

Messages postés
44
Date d'inscription
samedi 8 juin 2013
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
Commenter la réponse de ucfoutu
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
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
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
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.