![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2005
Messages: 16
|
Bonjour,
J'ai créé une application qui affiche un Userform sur une feuille en fond d'écran de couleur. Or,lorsque je déplace ce userform, cela laisse des trainées, ce qui m'indique qu'il y a un problème probable de rafraichissement de l'affichage. Pouvez-vous m'indiquer comment éviter ce genre de problème (voir copie d'écran ci-jointe) ? Merci beaucoup pour votre aide. Isa [file name=pb_rafraichissement.zip size=10697]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/pb_rafraichissement.zip[/file] |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: avril 2005
Localisation: Zalau
Version Excel : Excel X (MAC)
Messages: 879
|
Bonsoir Isa, le forum,
J'avais moi meme le probleme, puis j'ai tente un truc tout bete, c'est d'ouvrir mon userform de facon a pouvoir travailler sur ma feuille en meme temps. Donc, dans ton code d'ouverture de ton userform tu place : sub userform_clic() load userform1 userform1.show vbmodeless End sub Voila, en esperant t'aider. Bonne soiree Olivier
__________________
Si j'avais su... J'aurais pas v'nu ! Mais maintenant que j'y suis, ben j'y reste ! Le rappeler ne peut pas faire de mal alors... Soutenez Excel Download ! Ca y est ! Je vole sur Mac à présent ! C'est l'pied ! |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2005
Messages: 16
|
Bonjour Olivier,
Merci beaucoup pour le tuyau. Ca marche effectivement bien, par contre, comme j'avais ouvert auparavant ma feuille en .WindowState = xlMaximized, le fait d'avoir fait un userform.show vbModeless, cela a réduit la taille de ma feuille. Pourquoi ? As-tu une combine pour la garder en xlMaximized ? Merci d'avance. Isa |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: avril 2005
Localisation: Zalau
Version Excel : Excel X (MAC)
Messages: 879
|
Bonjour Isa,
Je ne suis pas tout a fait sur d'avoir compris s'il s'agissait de ton userform ou de la feuille dont tu veux me parler. Donc dans le doute : Private Sub tonuserform_initialize() With tonuserform StartUpPosition = 3 Width = Application.Width Height = Application.Height Left = 0 Top = 0 End With End Sub Sinon, pour le cas ou c'est bien de ta feuille qu'il s'agit, j'avoue n'avoir jamais essaye de maximiser ma feuille puisque si elle est deja comme ca a l'enregistrement du fichier, y a pas de raison pour qu'elle ne le soit plus a l'ouverture... Essaie de desactiver le windowstate pour voir... Peut etre qu'un petit exemple de ton fichier d'origine m'en dirait plus... Bonne soiree Olivier
__________________
Si j'avais su... J'aurais pas v'nu ! Mais maintenant que j'y suis, ben j'y reste ! Le rappeler ne peut pas faire de mal alors... Soutenez Excel Download ! Ca y est ! Je vole sur Mac à présent ! C'est l'pied ! |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2005
Messages: 16
|
Bonjour Olivier,
Merci pour ta réponse. Il s'agit bien de la feuille que je souhaite maintenir en xlMaximized. C'est ma feuille 'welcome'. Et par-dessus, j'affiche un userform qui ne prend pas tout l'écran. La suppression du Windowstate n'a aucun effet, mais en déroulant mon script en debug, je me suis rendue compte que la feuille se réduisait lorsque j'ouvrais d'autres Workbooks et que je réduisais d'autres feuilles du workbook (xlMinimized). Or, je ne veux pas que les autres feuilles des autres workbooks se voient en se chargeant et j'aimerais que ma feuille 'Welcome' reste toujours en grand en fond d'écran, de manière à cacher le chargement et l'activation de toutes les autres feuilles en arrière-plan. Je n'ai donc pas le choix. Aurais-tu une autre solution ? Voici un exemple de chargement de mes autres feuilles que je voudrais cacher : Workbooks.Open filename:=strApplicationPath & '\\classeur.XLS', UpdateLinks:=0 Windows('classeur.XLS').WindowState = xlMinimized Workbooks('classeur.XLS').Sheets('feuille').Visibl e = xlVeryHidden Workbooks('classeur.XLS').Sheets('feuille2').Visib le = xlVeryHidden Workbooks('classeur.XLS').Sheets('feuille').Activa te Merci d'avance, Isa |
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: avril 2005
Localisation: Zalau
Version Excel : Excel X (MAC)
Messages: 879
|
Bonjour Isa, le forum,
Bien, en ce qui concerne le probleme du a ton ouverture de classeur, je ne peux malheureusement pas t'aider, en tout cas avec cette facon d'operer... Peut etre y aura t'il qq avec une bonne ame pour te renseigner plus avant. Par contre, je peux te proposer de remplacer ta feuille par un simple UserForm ouvert lui aussi en vbmodeless et plein ecran. Ce qui te permet la meme chose. Dans Thisworkbook Private Sub Workbook_Activate() Load UserForm1 UserForm1.Show vbModeless End Sub tu double clique sur ton userform et tu tape ce code Private Sub tonuserform_initialize() With tonuserform StartUpPosition = 3 Width = Application.Width Height = Application.Height Left = 0 Top = 0 End With End Sub Ca donne pour resultat de t'ouvrir un userform en plein ecran. A charge pour toi de lui donner un aspect 'plaisant' Bonne soiree Olivier
__________________
Si j'avais su... J'aurais pas v'nu ! Mais maintenant que j'y suis, ben j'y reste ! Le rappeler ne peut pas faire de mal alors... Soutenez Excel Download ! Ca y est ! Je vole sur Mac à présent ! C'est l'pied ! |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2005
Messages: 16
|
Bonjour Olivier,
Merci beaucoup pour le tuyau. Du coup, j'ai utilisé l'astuce mais l'ai arrangée à mon code. J'ai tout d'abord ouvert mon Userform dans l'auto_open sans vbModeless, puis dans son sub initialize, j'ai ouvert le userform de fond (celui que tu me recommandais) en vbModeless. Ainsi, le userform de fond reste bien à l'arrière de mon userform, qui, lui, en bougeant, ne laisse plus de traces. Encore merci. A bientôt, Isa |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|