Userform au 1er plan

Résolu
FOUNI
Messages postés
29
Date d'inscription
dimanche 8 juillet 2007
Statut
Membre
Dernière intervention
8 mars 2013
- 5 août 2007 à 10:43
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
- 20 août 2007 à 03:14
Bonjour à tous,

j'ai créé un fichier excel qui récupère des données par macro dans un autre programme.

Donc sur l'écran, j'ai en arrière plan la feuille excel et au  1er plan  l'autre application, je que j'aimerais , c'est que lorsque l'userform qui doit apparaitre quand il y a un problème  s'affiche au dessus de l'application mais que la feuille excel reste derrière.

Autrement dit, si l'userform s'ouvre,on doit avoir la feuille excel cachée par l'application où je fais chercher les données, et l'userform  au 1er plan

est-ce possible???

MERCI

4 réponses

FOUNI
Messages postés
29
Date d'inscription
dimanche 8 juillet 2007
Statut
Membre
Dernière intervention
8 mars 2013

7 août 2007 à 14:38
D' abord merci pour la réponse et désolé pour mon message pas  bien  enregistré dans le bon forum

je manque d"habitude

merci
3
cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
5 août 2007 à 11:29
Pourquoi tu poste dans le forum VB6 si tu fais du VBA ???

Je déplace dans le forum approprié !
0
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
5 août 2007 à 11:44
Salut,

C'est possible avec un peu d'apis :





Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, _
  ByVal lpWindowName As String) As Long
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 Const HWND_TOPMOST As Long = (-1)
Private Const SWP_NOMOVE As Long = &H2
Private Const SWP_NOSIZE As Long = &H1

Private Sub UserForm_Activate()
  Dim hwnd As Long
  hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", _
    "D") & "Frame", Me.Caption)
  Call SetWindowPos(hwnd, HWND_TOPMOST, &H0, &H0, &H0, &H0, _
    SWP_NOMOVE Or SWP_NOSIZE)
End Sub,

----

(Nouveau forum VBA/Office
0
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
20 août 2007 à 03:14
salut,

une autre habitude à prendre : Accepter la réponse qui t'aide (en l'occurence celle de Kenji).
Merci
Ca évite de venir lire quand la réponse est trouvée, à l'inverse ceux qui cherchent à faire ce que tu voulais, savent que la réponse est là

@++

<hr width="100%" size="2" />( Nouveau forum : Exclusivement Office & VBA/STRONG>
0