Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1722 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Affichage Userform

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Affichage Userform

n°1441017
aprilthe5i​th
Posté le 12-09-2006 à 14:52:57  profilanswer
 

Bonjour, je rencontre le problème suivant : Une appli génère un fichier Excel et appelle une macro. Cette macro ouvre le fichier Excel (qui reste invisible) et sur lequel pointent des userforms. Si aucun autre doc Excel n'est ouvert, tout va bien : le userform apparait au premier plan (au-dessus de l'appli). Dans le cas contraire, le premier userform reste "bloqué" dans la barre de tache. Je précise que ce problème ne se résout aps avec la méthode :
 
Application.WindowState = xlMinimized
UserForm1.Show vbmodeless
 
Un grand merci à qui voudra m'aider
 

mood
Publicité
Posté le 12-09-2006 à 14:52:57  profilanswer
 

n°1441974
Daranc
Posté le 13-09-2006 à 17:19:43  profilanswer
 

ce n'est peut etre plus le bon classeur qui est activé  
windows("machin.xls" ).activate  
a voir

n°1442954
aprilthe5i​th
Posté le 15-09-2006 à 12:05:39  profilanswer
 

Pfff... rien à faire.
Merci malgré tout.

n°1443008
les gens r​oots
Jah rastafarei
Posté le 15-09-2006 à 13:45:15  profilanswer
 

J'avoue que je n'ai pas bien saisi ton problème. Pourrais-tu être plus clair? Car je pense avoir rencontré le même bug par le passé...

n°1443022
aprilthe5i​th
Posté le 15-09-2006 à 14:11:21  profilanswer
 

Donc :  
 
1/ un logiciel génère un fichier excel (contenant des données brutes), qui est nommé et enregistré dans un répertoire
 
2/ après quoi, ce même logiciel appelle une macro contenue dans un fichier excel (ce fichier ne sert à rien d'autre que contenir cette macro et 6/7 userforms)
 
3/ cette macro va commencer par ouvrir le premier fichier de données excel, récupérer les informations qui y sont contenues, et en fonction de celles-ci, poser des question s à l'utilisateur afin que celui-ci ait la main sur le résultat final : des données mises en forme dans un ppt.
 
4/ si, lorsque le traitement commence, aucun fichier EXCEL (les autres applis ne gènent pas) n'est ouvert, tout se passe bien : les userforms se mettent successivement au premier plan, y compris après création et ouverture du ppt.
 
5/ Si en revanche, un ou plusieurs autres fichiers EXCEL sont ouverts, je vois apparaitre (ce qui n'est pas le cas en 4/) mes 2 fichiers de référence en barre de tache et rien ne se passe
 
6/ il faudra cliquer sur un de ces 2 fichiers (au choix) afin que le premier userform apparaisse
 
7/ le but est simple : que ce ... de userform apparaisse TOUJOURS au premier plan à l'écran
 
Voila, c'est un peu long mais ca me semble clair.
MERCI, MERCI, MERCI de votre aide.

n°1443177
seniorpapo​u
Posté le 15-09-2006 à 16:58:13  profilanswer
 

Bonjour,
si les autres fichiers ne sont pas indispensables, il y a surement un moyen de les fermer avant d'appeler ton userform?
si cela t'intéresses quelqu'un a peut-être une méthode pour les fermer en gardant le bon ouvert.  
 
Cordialement
 
 
  edit:    par exemple
 
For Each w In Workbooks
    If w.Name <> ThisWorkbook.Name Then
        w.Close savechanges:=True
    End If
Next w


Message édité par seniorpapou le 15-09-2006 à 17:05:53
n°1443185
les gens r​oots
Jah rastafarei
Posté le 15-09-2006 à 17:02:16  profilanswer
 

Alors j'ai une question par rapport à l'exécution de ton programme:
ces userforms apparaissent-elles au premier plan même si une fenêtre autre que celle d'EXCEL est déjà présente à l'écran?
Mis à part çà, comment créée-tu ces fichiers EXCEL ? Ce que je veux dire par là c'est est-ce que tu récupère une fenêtre EXCEL existante ou tu en créée une nouvelle? Cette exécution me parait très bizarre car en effet, ton programme semble être en attente en plein millieu de son exécution d'ou le fait que tu dois clicker sur un de ces deux fichiers ouverts pour finir leur appel et lancer ta userform.
 
J'espère être capable de t'aider avec les informations que tu va me fournir car l'exécution de ton prog n'est pas vraiment ce à quoi j'ai dû faire face par le passé. D'autant plus que je n'ai jamais codé en VBA, ce que tu utilise si j'ai bien compris.
 
:bounce:

n°1443198
aprilthe5i​th
Posté le 15-09-2006 à 17:27:32  profilanswer
 

A seniorpapou : les personnes qui vont utiliser cet export+macro ont environ 10 fichiers Excel ouverts en permanence et il n'est aps question de les leur fermer...

n°1443201
aprilthe5i​th
Posté le 15-09-2006 à 17:46:20  profilanswer
 

A LesGensRoots :  
1/ Oui à la première question : les userforms passent par dessus tout : la fenètre de l'appli, le ppt créé... tout sauf des fichiers Excel qui seraient déjà ouvert au moment où la macro se lance.
 
2/ le fichier excel est généré from scratch. Mais a la limite, peu importe puisque lorsque la macro se lance, ce fichier Exel généré est fermé.
 
 
A noter :
 
dans le cas ou des excels sont déjà ouverts, que je clique sur un des excels (macro ou données générées) pour afficher le premier userform, les autres userforms apparaisent ensuite bien au premier plan, sauf après l'ouverture du ppt... alors que dans l'autre cas, celui ou le premier userform se met au premier plan de lui-même, le ppt ne gène pas...  
 

n°1443205
aprilthe5i​th
Posté le 15-09-2006 à 18:04:19  profilanswer
 

En fait, il me semble que le problème, qui semble complexe, est en fait simple à exprimer : il me faudrait une ligne de code qui fasse en sorte que quelle que soit la configuration, mes userforms apparaissent au premier plan, point...

mood
Publicité
Posté le 15-09-2006 à 18:04:19  profilanswer
 

n°1443867
les gens r​oots
Jah rastafarei
Posté le 18-09-2006 à 08:42:12  profilanswer
 

Les problèmes inter-processus ne sont jamais simples=) . As-tu essayé de "killer" toutes les fenêtre EXCEL déjà existantes au démarage de ton prog?

n°1444037
aprilthe5i​th
Posté le 18-09-2006 à 12:23:45  profilanswer
 

"Killer", ca veut dire que je les enregistre et ferme ?
Ca me parait une solution assez détournée, mais si ca marche pourquoi pas effectivement.
 
En atendant j'ai trouvé une autre solution qui fonctionne : au lieu de "Application.WindowState = xlMinimized" , j'ai utilisé au contraire "Application.WindowState = xlMaximized" attendu que c'était le fait que les fenêtres Excel soient "bloquées" dans la barre de tache qui empéchait les userform de s'afficher. Bonne surprise : les fenêtres Excel ne s'affichent pas en fond d'écran (comme je le supposait) mais les userforms s'affichent bien au premier plan...
 
Merci de vous être interréssés à mon problème.
 
Pour info, j'ai à dispo plein de codes pour des macros powerpoint glanées très difficilement (c'est assez rare sur le net), donc si vous êtes interréssés...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Affichage Userform

 

Sujets relatifs
Des lignes (dessinées) sur un Userform en VBAMicrosoft Reporting Services + affichage de données...
l'affichage erreur phpAffichage barre d'outil access avec VBA
[HTML et javascript] Affichage d'images à tour de rôleHack ie, pb d'affichage sous ie
Content-Type Internet Exlporer, affichage dun .CSV, problème avec XMLProbleme d'affichage avec firefox
[CSS] Soucis d'affichage sous IEUserform Listbox et affichage d'info
Plus de sujets relatifs à : Affichage Userform


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR