Réduire icone Excel et un Form

GuyRev Messages postés 27 Date d'inscription vendredi 4 août 2006 Statut Membre Dernière intervention 24 février 2013 - 9 août 2006 à 18:45
GuyRev Messages postés 27 Date d'inscription vendredi 4 août 2006 Statut Membre Dernière intervention 24 février 2013 - 10 août 2006 à 10:31
Bonjour,
Existe-il un code VBA pour réduire en icone un form et l'application Excel correspondante afin de pouvoir accéder au bureau?
Merci de vos réponses

GuyRev

7 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 19:03
Salut,

il suffit de placer ces instructions :

    Me.Hide
    Application.WindowState = xlMinimized

Sache cependant que lorsque l'utilisateur reclique sur l'icone excel de la barre, Excel réapparaitra mais pas ton UserForm. Celui-ci doit pourtant être mis à Hide pour permettre la réduction de l'application.

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 19:14
Place ceci dans les déclarations de ton UserForm (au dessus de toutes tes procédures) :

Public wForm As Boolean
<hr size="2" width="100%" />Dans ton UserForm, fait un bouton nommé BoutonReduire, et place :

Private Sub BoutonReduire_Click()
    Me.Hide
    Application.WindowState = xlMinimized

    wForm = True
End Sub
<hr size="2" width="100%" />Dans le module ThisWorkBook, met cette procédure :

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
   
If wForm = True Then
    Application.WindowState = xlNormal
    NomUserForm.Show
   
    wForm = False
End If

End Sub

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
GuyRev Messages postés 27 Date d'inscription vendredi 4 août 2006 Statut Membre Dernière intervention 24 février 2013
9 août 2006 à 19:38
A la ré-ouverture Le 2ème code ne ce lance pas!!
 As-tu une explication?

GuyRev
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 19:53
Non, je n'en ai pas ! J'ai vérifier d'autres choses et bien que je sois dans les bons évènements (Workbook_WindowActivate ou Workbook_Activate), je 'arrive pas à faire fonctionner le code.

Il te reste une solution pas esthétique du tout mais qui peux dépanner :
tu crées un onglet et places-y un bouton "Formulaire". Celui-ci lancera ta forme qui a été fermée. Si tu choisis cette solution, pense à mettre après le Me.Hide, le Sheets("Nouvel Onglet").Select

Je regarde encore un peu au cas où...

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
GuyRev Messages postés 27 Date d'inscription vendredi 4 août 2006 Statut Membre Dernière intervention 24 février 2013
9 août 2006 à 19:57
Merci dans tous les cas.


Bonsoir

GuyRev
0
cs_bipou Messages postés 61 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 14 septembre 2006
10 août 2006 à 09:39
bonjour,

essaye ceci :

avec une forme contenant un bouton "Réduire", un label "Clic pour Rappel" (propriétés top=0, left=0, visible=false)

code dans la forme :

Public usrf_etat As Boolean
Public usrf_height, usrf_width  ' pour garder en mémoire la taille de la form


Private Sub BouttonReduire_Click()
    Me.Hide
    Application.WindowState = xlMinimized
    usrf_etat = True
    Me.Show
End Sub


Private Sub Label_rappel_Click()
If usrf_etat = True Then
    Me.Label_rappel.Visible = False
    Me.Height = usrf_height
    Me.Width = usrf_width
    Me.Hide
    Application.WindowState = xlNormal
    usrf_etat = False
    Me.Show
End If


End Sub


Private Sub UserForm_Activate()
If usrf_etat Then
    usrf_height = Me.Height
    usrf_width = Me.Width
    Me.Top = 0
    Me.Left = 0
    Me.Height = 35
    Me.Width = 135
    Me.Label_rappel.Visible = True
End If
End Sub
0
GuyRev Messages postés 27 Date d'inscription vendredi 4 août 2006 Statut Membre Dernière intervention 24 février 2013
10 août 2006 à 10:31
Bonjour bipou,


OK les codes fonctionnent avec 2 clicks

Pour mortalino
Concernant les événements applications:
 Je pense qu'une fois l'application réduite en icône elle reste malgré tout active, c'est pour cela que le code "Workbook_WindowActivate ou Workbook_Activate" ne fonctionne pas.
Je pense qu'il n'y a pas de code événementielle qui relance une form

Merci à tout les deux j'ai résolu mon problème avec vos propositions.

GuyRev
0