Réduire icone Excel et un Form

Signaler
Messages postés
27
Date d'inscription
vendredi 4 août 2006
Statut
Membre
Dernière intervention
24 février 2013
-
Messages postés
27
Date d'inscription
vendredi 4 août 2006
Statut
Membre
Dernière intervention
24 février 2013
-
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

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
Messages postés
27
Date d'inscription
vendredi 4 août 2006
Statut
Membre
Dernière intervention
24 février 2013

A la ré-ouverture Le 2ème code ne ce lance pas!!
 As-tu une explication?

GuyRev
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
Messages postés
27
Date d'inscription
vendredi 4 août 2006
Statut
Membre
Dernière intervention
24 février 2013

Merci dans tous les cas.


Bonsoir

GuyRev
Messages postés
61
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
14 septembre 2006

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
Messages postés
27
Date d'inscription
vendredi 4 août 2006
Statut
Membre
Dernière intervention
24 février 2013

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