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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème affichage d'une USERFORM

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème affichage d'une USERFORM

n°2012845
scaryfan
Apple Inside
Posté le 29-07-2010 à 11:57:24  profilanswer
 

:hello:  
 
Bonjour à tous !
 
Je viens vers vous car j'ai un souci avec une userform dans un fichier Excel.
Je résume la situation :
 1 - j'ai plusieurs feuilles dont une qui s'appelle ACCUEIL (il y a un logo et un titre) (les autres feuille sont des feuilles de travail)
 2 - à l'ouverture de mon classeur, j'ai un Workbook_Open qui exécute une série de tâche dont :
        - se positionner sur la feuille ACCUEIL
        - afficher une boîte de dialogue pour entrer un mot de passe : MOTDEPASSE
 
Tout fonctionnait bien jusqu'à ce que je modifie l'aspect de ma feuille ACCUEIL hier... (notamment la couleur de fond)...
Quand je rouvre mon fichier et que la boîte de dialogue MOTDEPASSE s'affiche, c'est l'ancienne version de la feuille ACCUEIL qui s'affiche...
 
J'avoue ne pas trop comprendre là...
 
J'ai également tenter de supprimer carrément ma feuille ACCUEIL : le Workbook_Open se positionne donc sur une autre feuille et affiche la boîte MOTDEPASSE... et la vieille version ACCUEIL s'affiche derrière la boîte...  :fou:  
 
J'ai aussi détruit la boîte MOTDEPASSE et en ai recréé une autre... et là, c'est pareil, j'ai toujours la feuille ACCUEIL ancienne version derrière...  :fou:  
 
Alors, je me demande s'il n'y a pas une action à exécuter avant que la boîte ACCUEIL ne s'affiche...
 
Quelqu'un peut m'aider ???


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
mood
Publicité
Posté le 29-07-2010 à 11:57:24  profilanswer
 

n°2012873
SuppotDeSa​Tante
Aka dje69r
Posté le 29-07-2010 à 13:10:16  profilanswer
 

Tu supprimes une feuille, notamment ACCUEIL, et elle reaparait comme par magie juste en appelant un userform ???
 
Tu dois oublier de nous dire un truc la je pense...


---------------
Soyez malin, louez entre voisins !
n°2012878
scaryfan
Apple Inside
Posté le 29-07-2010 à 13:29:59  profilanswer
 

Non, je confirme bien !
 
Dans ma macro Workbook_Open, j'ai  
 

Code :
  1. Sheets("ACCUEIL" ).select
  2. MOTDEPASSE.Show


Là, c'est l'ancienne version de la feuille ACCUEIL qui apparaît derrière la boîte MOTDEPASSE.
 
Si je change la première ligne en :

Code :
  1. Sheets("TRAVAIL" ).select
  2. MOTDEPASSE.Show


TRAVAIL étant une autre feuille, j'ai le même résultat...
 
Mais ce qui est encore plus étonnant, c'est que si je mets un 'Stop' avant la première ligne, que j'enregistre et rouvre mon fichier, que j'exécute en pas à pas via F8, c'est bien la feuille TRAVAIL qui va s'afficher derrrière ma boîte...  :fou:  
 
Et si je supprime tout bonnement ma feuille ACCUEIL, j'ai le même phénomène...
 
En ce moment, je neutralise les lignes qui précèdent le bout de code cité plus haut en premier.
Il semblerait que ce soit des lignes de codes que j'ai insérées avant pour "caler" toutes mes feuilles de travail.
 
 ;)  
 


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
n°2012885
scaryfan
Apple Inside
Posté le 29-07-2010 à 13:36:04  profilanswer
 

Sinon, le truc qui résoud le problème est de changer mon code par ça :
 

Code :
  1. Sheets("ACCUEIL" ).select
  2. Application.ScreenUpdating = True
  3. Application.ScreenUpdating = False
  4. MOTDEPASSE.Show


Message édité par scaryfan le 29-07-2010 à 13:36:17

---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
n°2012888
SuppotDeSa​Tante
Aka dje69r
Posté le 29-07-2010 à 13:44:16  profilanswer
 

Ah bah voila...
 
Une fois le fichier fermé et enregistré tu ne dois pas avoir le souci.
 
Dans ton code tu dois utiliser Application.ScreenUpdating = False, ce qui fait que l'ecran n'est pas mis a jour, donc il garde en arriere plan ta feuille ACCUEIL.
 
Tout simplement.


---------------
Soyez malin, louez entre voisins !
n°2012896
scaryfan
Apple Inside
Posté le 29-07-2010 à 13:56:18  profilanswer
 

:whistle:  
 
En fait, j'ai trouvé la soluce...
[pas taper... aïe]
 
Ma macro exécute différentes tâches avant d'afficher la boîte MOTDEPASSE.
L'une de ces tâches est d'ouvrir un autre classeur pour faire une certaine vérification.
Le souci est que ce fameux fichier a également une feuille ACCUEIL (ancienne version) que je n'ai pas encore mis à jour...
Le Workbook_Open de ce fichier exécute à un moment un Application.ScreenUpDating=True puis False...
Une fois ce fichier refermé, l'affichage gardait bien cette page à l'écran...
 
 :whistle:  
 
[aïe]
 
 :hello:


---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To
n°2012900
SuppotDeSa​Tante
Aka dje69r
Posté le 29-07-2010 à 14:11:36  profilanswer
 

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

  Problème affichage d'une USERFORM

 

Sujets relatifs
problème avec la création d'un fichier phpDéploiement de WebService (problème avec mon WSDL)
problème de div position absolute et IE [RESOLU]Probleme pour convertir une chaine en variable double
Problème de récupération de valeur d'une ListBox dans une procédureProblème en PHP pour une requête SQL
Problème de compilationProblème de code dans fichier XML
[VB.NET] Affichage MsChart continuellement mis a jour 
Plus de sujets relatifs à : Problème affichage d'une USERFORM


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