petite question toute simple

  • Initiateur de la discussion bichon
  • Date de début
B

bichon

Guest
ma question toute simple est:
Est-il possible lorsqu'on fait une application vba sous excel d'avoir et le classeur actif
et la userform active ou de pouvoir alterner les 2
si oui comment, avec un bouton "classeur actif"?

merci a vous

bichon
 
@

@Christophe@

Guest
Bonsoir

Possible, mais uniquement après excel 97, c'est la propriété modal

Pour ouvrire ton userform tu fais:

Userform1.show 0

et voila, le 0 fait la difference

Ou alors tu peux aussi aller dans les propriété de ton userform, et tu devrais trouvé Showmodal, tu mets False, et le tour est joué

Bonne soirée

@Christophe@
 
J

jp

Guest
ok merci christophe
mais je suis un peu degouté car mon application se fait sous excel 97
y'a vraiment pas d'autre possibilité
ou alors caché la userform et la remontrer je sais pas
enfin bon
merci bcp pour ton aide quand meme
bye
 
@

@Christophe@

Guest
Re

Ben oui, si tu fais un userform.hide, pour ensuite faire un userform.show, cela le cache provisoirement

Tant que tu ne fais pas de Unload Me, ou Unload userform, parce que cela ferais que a la réouverture, il se réinitialiserai

On ne peux pas faire mieux, désolé, un petit upgrade d'excel peux être,rire

Bonne soirée

@Christophe@
 
J

jaccard

Guest
Hello, j'ai trouvé ce qui suit sur le site de laurent longre (il me semble), je l'ai testé par le passé et ça fonctionne sous 97 SR-2 :

'Les UserForms d'Excel 97 sont en principe modaux : tant que le UserForm est affiché
' il est impossible à l'utilisateur de parcourir les feuilles de calcul
'saisir de nouvelles données etc.

'Sous Excel 2000, l'introduction de la propriété ShowModal permet de faire des UserForms
'non modaux. En mettant cette propriété sur True dans la fenêtre des propriétés
'du UserForm, ou en l'affichant par l'instruction : MonUserForm.Show Modal:=vbModeless

'... le UserForm sera affiché de manière non modale, et l'utilisateur pourra parcourir
'ses feuilles de calcul et faire des modifications pendant que la boîte de dialogue
'est affichée.

'Le code suivant, à mettre dans le module du UserForm, permet d'afficher
'la boîte de dialogue de manière non modale sous Excel 97
'comme sous Excel 2000 (merci à Stephen Bullen pour le "truc",
'basé sur la fonction EnableWindow).
'Il dote également le UserForm de boutons de réduction et d'agrandissement
'permettant de le réduire en bas de la fenêtre Excel et de le rétablir
'à sa taille d'origine.



Private Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function EnableWindow Lib "User32" _
(ByVal hWnd As Long, ByVal bEnable As Long) As Long

Private Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Sub UserForm_Activate()

EnableWindow FindWindowA("XLMAIN", Application.Caption), 1

End Sub

Private Sub UserForm_Initialize()

Dim hWnd As Long

hWnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000

End Sub
 
@

@+Thierry

Guest
Bonsoir ce Fil (ou plutot bonjour)

Pour Bichon :
Dis moi JP, c'est quoi encore cette histoire... tu vas tester en posant la question "Commant faire sans mode modal pour excel 97" sur le Forum deux minutes après ???

Et en plus en changeant de Pseudo...

==> Lien supprimé

Pas très fairplay çà...

Enfin tu auras la confirmation que ce qui a été écrit il y a une quinzaine de jour dans ce Forum est exacte...

==>Lien supprimé

(Au fait le Moteur de Recherche Remarche)

Pour Jaccard, il semblerait que ce code soit de Stephen Bullen d'après les sources que j'ai eu, mais possible que Laurent y est participé.

Pour @Xtoph@ le 29/04/2002 tu devais pas être là :) mais merci pour le mail pour me signaler cette méthode :)

Bon cette fois ci dodo !!!
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 677
Messages
2 090 818
Membres
104 674
dernier inscrit
salimmed