flaash
Messages postés16Date d'inscriptionsamedi 2 décembre 2000StatutMembreDernière intervention23 février 2008
-
8 févr. 2008 à 13:34
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
9 févr. 2008 à 16:06
En effet, j'ai un petit pb pour afficher une feuille excel au milieu des boites de dialogues...
j'ai essayé worksheets(1).visible = true , bien que ca active la feuille concernée, elle n'est pas affichée au dessus des boites de dialogues de la macro. j'aimerais pouvoir y remédier..
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 9 févr. 2008 à 00:38
Salut MPi²,
ce que je comprend c'est qu'il voudrait que la feuille excel passe devant les formulaires.
C'est peut etre possible de le faire mais cela me semble compliqué. Ce que je propose c'est d'avoir des Formulaires
configurés avec ShowModal = False et de tous les minimiser avec l'evenement Selection_Change de la feuille
qui doit passer devant.
Maintenant la question est : Comment minimiser les formulaires ?
je vois 2 solutions :
1) les minimisers par les API windows. La il suffit de chercher sur le net.
2) simplement reduire leurs taille Height =0 et Width = 0 et les positonners en bas a droite de la feuille(par exemple).
Apres coup seul les barres de titres restent visible.
Pour cette derniere solution le probleme est de reafficher les fomulaires par un simple clique car cliquer simplement dans la barre de titre d'un des formulaires ne suffit pas . En effet il n'existe pas d'evenement dans excel qui detect un clique dans la barre de titre d'un formulaire. Un clique dans le formulaire oui mais pas dans la barre. J'ai regardé d'autre solution comme detecter la perte du focus de la feuille etc, rien ne marche.
Donc pour ce cas encore 2 solutions:
1) les API windows (encore)
2) un bouton(ou autre) dans la feuille que l'on affiche(comprenez rendre visible) si les formulaires on ete minimisés
1 clique et hop tout redevient normale
Si il y a d'autre solution(il en a surement d'autre) elles seront les bienvenue
flaash
Messages postés16Date d'inscriptionsamedi 2 décembre 2000StatutMembreDernière intervention23 février 2008 9 févr. 2008 à 13:07
Merci, le vrai, c'est clair que par "boite de dialogue" j'entends userform.. c'est déjà un début de solution, à la quelle je proposerais d'ajouter
-si la feuille qu'on réduit est celle qui est grande, on pourra peut etre garder une petite visible au dessus et déplacable, sur laquelle on mettra le bouton "fermer"..
pour qu'on avance, je vais poser une autre question:
est-ce qu'il ya moyen de transformer ma feuille en un autre type d'objet "compatible" ou "mélangeable" avec les userforms? si oui lequel? merci pour tes recherches une fois de plus big fish
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 9 févr. 2008 à 14:21
Une idée comme ça...
Si ta version est Office 2000 ou plus récente, tu peux utiliser ceci pour afficher un UserForm et garder la possibilité d'éditer la feuille (worksheet) tout en laissant le UserForm est affiché.
Sub Afficher()
UserForm1.Show vbModeless End Sub
Méthode simple pour réduire/aggrandir un UserForm par double-click (dans la partie grise)
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Static ShowHide As Boolean
ShowHide = Not ShowHide
If ShowHide Then
Me.Height = 25
Me.Width = 80
Else
Me.Height = 200 'selon les besoins
Me.Width = 300 'selon les besoins
'pour centrer en largeur et en hauteur
Me.Left = (Application.Width / 2) - (Me.Width / 2)
Me.Top = (Application.Height / 2) - (Me.Height / 2)
End If
End Sub
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Vous n’avez pas trouvé la réponse que vous recherchez ?
flaash
Messages postés16Date d'inscriptionsamedi 2 décembre 2000StatutMembreDernière intervention23 février 2008 9 févr. 2008 à 16:01
on ne se comprends pas, c'est la feuille que je veux afficher, et non le userform; je n'ai pas de soucis non plus quant à modifier la feuille, le userform affiché ou non.
je veux juste qu'on puisse cliquer sur un bouton (pendant l'exécution de la macro) et une feuille de calcul s'affiche.. par exemple pour consulter un journal...
thanks menwhile MPI²
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 9 févr. 2008 à 16:06
Tu ne peux pas afficher une feuille au-dessus d'un UserForm. Il te faut minimiser ce UserForm pour afficher une plus grande partie de la feuille ou utiliser Hide pour le cacher. Le problème, à ce moment-là est de le réafficher...
Autre possibilité, tu utilises un contrôle Spreadsheet directement sur le UserForm.
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI