formulaire VBA modal

formulaire VBA modal - VB/VBA/VBS - Programmation

Marsh Posté le 05-10-2013 à 19:05:43    

Bonjour,
 
j'ai créé une macro qui filtre des lignes et les déplace sur une autre feuille de calcul.
j'ai également implémenté une barre de progression.
 
mon problème est le suivant :
 
mon premier classeur contient la macro et le userform.
à partir de ce classeur, on choisit le fichier à traiter.
 
mais malgré la valeur modale à true, le formulaire ne reste pas au premier plan.
c'est le classeur choisi, qui s'affiche  :fou:  
 
je suis sur excel 2010.
 
y a t il un paramètre à renseigner pour passer le classeur appelé à l'arrière plan ?
 
merci de votre aide.

Reply

Marsh Posté le 05-10-2013 à 19:05:43   

Reply

Marsh Posté le 07-10-2013 à 11:15:40    

 
           De toute manière lors de la création d'un UserForm sa propriété  ShowModal  est déjà à  True  ‼
 
           Commencer donc par tester avec  False
 
           sinon cela vient du code, à suivre alors en mode pas à pas (touche F8) pour comprendre ce qu'il se passe …
 
           Sinon pour passer le classeur appelé à l'arrière plan il suffit d'en activer un autre !
 
           Autre point :  une barre de progression n'est pas nécessaire car à part ralentir la procédure,
                               une copie ou déplacement de lignes filtrées s'effectue normalement en une seule passe …
 
           Je suis intervenu sur une procédure (chargeant et traitant un référentiel selon des conditions) ayant besoin de 48 secondes à chaque appel.
           Rien qu'en supprimant la barre de progression, je l'ai descendue à 18 secondes ‼
           En l'optimisant, elle prend à peine plus de deux secondes et seulement lors du premier appel, elle est instantanée pour les suivants …
 
           Ma grosse difficulté a été de convaincre les utilisateurs car, ayant été habitués depuis des années à attendre longtemps le résultat,
           ils ne pouvaient croire à une exécution si rapide alors que l'on ne leur avait pourtant pas changé d'ordinateur !
 

Reply

Marsh Posté le 08-10-2013 à 17:01:39    

Merci Marc,
 
je me doute que la barre de progression ralentit, c'est toutefois, plus par esthétisme, que par efficacité.
 
je te remercie, je vais essayer de passer le classeur au premier plan.
 

Reply

Marsh Posté le 08-10-2013 à 17:26:17    

 
           A part l'ouverture d'un classeur en cours de processus, un code bien écrit ne bouge pas de fenêtre,
 
           aucun affreux inutiles Activate, Select & Selection ne doit y figurer, travail direct sur les objets bien plus efficient …
 
           Cas d'école sur un autre site où une procédure prenant plus d'une heure et quart a été réduite à 1 minute quarante secondes …
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed