Userform au 1er plan [Résolu]

Signaler
Messages postés
29
Date d'inscription
dimanche 8 juillet 2007
Statut
Membre
Dernière intervention
8 mars 2013
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
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

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

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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
120
Pourquoi tu poste dans le forum VB6 si tu fais du VBA ???

Je déplace dans le forum approprié !
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
32
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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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>