Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/12/2011, 16h47   #1
Invité régulier
 
Homme Adrien
Inscription : août 2011
Messages : 48
Détails du profil
Informations personnelles :
Nom : Homme Adrien
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 48
Points : 7
Points : 7
Par défaut Userform visible dans Barre des tâches

Bonjour,

Est-il possible d'avoir un "raccourci" userform dans le barre des tâches.

le problême actuellement, qu'and j'ai plusieurs applications ouvertes, si je clique en dehors de mon userform, je suis obligé de toutes les minimisées pour avoir à nouveau acès a mon Userform... pas très pratique.

J'imagine que c'est tout bête.
Merci d'avance.
puledad1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 17h37   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Je ne comprends pas bien, si tu cliques sur l'excel dans la barre des tâches, tu ne reviens pas sur ton userform ?
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/12/2011, 07h38   #3
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 665
Points : 7 665
Bonjour,

Si tu as caché l'application Excel, je crois qu'il n'y a pas de solution simple.

Peut-être par les apis mais je n'ai jamais creusé cette piste par manque de temps.
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 08h01   #4
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 774
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 774
Points : 2 094
Points : 2 094
Bonjour,

Avec APIs, la form sera toujours au premier plan dans n'importe quelle application lancée (pas sûr que ce soit idéal ?) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
Private Declare Function SetWindowPos _
            Lib "user32" ( _
            ByVal Hwnd As Long, _
            ByVal hWndInsertAfter As Long, _
            ByVal x As Long, _
            ByVal y As Long, _
            ByVal cx As Long, _
            ByVal cy As Long, _
            ByVal wFlags As Long) As Long
 
Private Declare Function FindWindowA _
            Lib "user32" ( _
            ByVal lpClassName As String, _
            ByVal lpWindowName As String) As Long
 
Private Sub UserForm_Initialize()
 
    Dim Position As Long
    Dim Hwnd As Long
    Dim Hauteur As Long
    Dim Largeur As Long
 
    With Me
 
        Hauteur = .Height
        Largeur = .Width
 
        Hwnd = FindWindowA(vbNullString, .Caption)
 
        Position = SetWindowPos(Hwnd, -1, _
                                .Top, _
                                .Left, _
                                .Width, _
                                .Height, 0)
 
        .Width = Largeur
        .Height = Hauteur
 
    End With
 
End Sub
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 23/12/2011, 08h50   #5
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 774
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 774
Points : 2 094
Points : 2 094
Oups,

J'ai lu trop vite, désolé.
Pour avoir la form dans la barre des tâches :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
Private Declare Function FindWindow _
                Lib "user32" _
                Alias "FindWindowA" ( _
                ByVal lpClassName As String, _
                ByVal lpWindowName As String) As Long
 
Private Declare Function EnableWindow _
                Lib "user32" ( _
                ByVal hWnd As Long, _
                ByVal fEnable As Long) As Long
 
Private Declare Function ShowWindow _
                Lib "user32" ( _
                ByVal hWnd As Long, _
                ByVal nCmdShow As Long) As Long
 
Private Declare Function SetWindowLong _
                Lib "user32" _
                Alias "SetWindowLongA" ( _
                ByVal hWnd As Long, _
                ByVal nIndex As Long, _
                ByVal dwNewLong As Long) As Long
 
Private Declare Function GetWindowLong _
                Lib "user32" _
                Alias "GetWindowLongA" ( _
                ByVal hWnd As Long, _
                ByVal nIndex As Long) As Long
 
 
 
Private Sub UserForm_Activate()
 
    Dim hWnd As Long
 
    hWnd = FindWindow(vbNullString, Me.Caption)
    EnableWindow FindWindow(vbNullString, Application.Caption), True
    ShowWindow hWnd, 0
    SetWindowLong hWnd, -20, GetWindowLong(hWnd, -20) Or &H40000
    Me.Repaint
    ShowWindow hWnd, 5
 
End Sub
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 30
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h43.


 
 
 
 
Partenaires

Hébergement Web