Popup excel en premier plan windows

Résolu
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   -  
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un popup sur excel que je souhaite afficher en premier plan sur windows devant toutes les autres fenêtres (autres applicatifs...).

Vba du popup :

Sub Mamacro()
Range("a11").Select

Selection.ClearContents
ActiveSheet.Paste
Range("b11").Select
Range("c11").Select
Range("d11").Select
Range("e11").Select
Range("A11").Select
variable1 = Range("a11")
variable2 = Range("b11")
variable3 = Range("c11")
variable4 = Range("d11")
variable5 = Range("e11")
ActiveWindow.WindowState = xlMaximized
MsgBox "Le client " & variable1 & " " & Chr(10) & Chr(10) & "a contacté la société " & variable2 & " " & " fois" & Chr(10) & Chr(10) & " dont " & variable3 & " " & " fois" & " dans une agence " & Chr(10) & Chr(10) & " dont " & variable4 & " " & " fois" & " par courrier " & Chr(10) & Chr(10) & " dont " & variable5 & " " & " fois" & " au téléphone ", vbMsgBoxSetForeground

End Sub


Merci d'avance,
A voir également:

1 réponse

Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
Bonjour,

Mettre le msgbox en modal pour être sûre.

MsgBox "texte", vbApplicationModal

Cordialement
0
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
 
Merci Thorak83,

Cela avance, excel clignote....et quand je clique sur l'îcone le popup apparait sans afficher la feuil excel....mais il faut que je clique encore sur l'icone !

Je suis obligé de laisser....ActiveWindow.WindowState = xlMaximizedavant la ligne :

MsgBox "Le client " & variable1 & " " & Chr(10) & Chr(10) & "a contacté la société " & variable2 & " " & " fois" & Chr(10) & Chr(10) & " dont " & variable3 & " " & " fois" & " dans une agence " & Chr(10) & Chr(10) & " dont " & variable4 & " " & " fois" & " par courrier " & Chr(10) & Chr(10) & " dont " & variable5 & " " & " fois" & " au téléphone ", vbApplicationModal
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
mais comment ou pas quoi est lancé la macro ?
0
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
 
Voila ma macro qui se lance toutes les 30 secondes :

Sub auto_open()
Actualiser
End Sub

Sub Actualiser()
' Définit l'intervalle avec l'heure actuelle
Uneheure = TimeSerial(Hour(Time), Minute(Time), Second(Time) + 30)
' Appel récursif
Application.OnTime Uneheure, "Actualiser"
Call Mamacro
End Sub

Sub auto_close()
On Error Resume Next
Application.OnTime Uneheure, Procedure:="Actualiser", Schedule:=False
End Sub

Sub Mamacro()
Range("a11").Select

Selection.ClearContents
ActiveSheet.Paste
Range("b11").Select
Range("c11").Select
Range("d11").Select
Range("e11").Select
Range("A11").Select
variable1 = Range("a11")
variable2 = Range("b11")
variable3 = Range("c11")
variable4 = Range("d11")
variable5 = Range("e11")
ActiveWindow.WindowState = xlMaximized

MsgBox "Le client " & variable1 & " " & Chr(10) & Chr(10) & "a contacté la société" & variable2 & " " & " fois" & Chr(10) & Chr(10) & " dont " & variable3 & " " & " fois" & " dans une agence " & Chr(10) & Chr(10) & " dont " & variable4 & " " & " fois" & " par courrier " & Chr(10) & Chr(10) & " dont " & variable5 & " " & " fois" & " au téléphone ", vbApplicationModal

End Sub

Je souhaite que MsgBox s'affiche devant toutes les autres fenêtres....
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
Je n'ai pas tout compris l'histoire du copier/coller ainsi que tous les Range("b11").Select qui ne servent à rien mais bon concernant le popup, je ne pense pas que ça peut se faire car c'est du code vba lancer par excel, donc la popup peut se mettre devant Excel mais devant toutes les applications Windows NON. Sauf peut être en utilisant une api windows. Je regarde ca
0
Thorak83 Messages postés 1051 Date d'inscription   Statut Membre Dernière intervention   156
 
Alors ca fonctionne avec l'Api Windows
Coller ceci en haut
Const MB_DEFBUTTON1 = &H0&
Const MB_DEFBUTTON2 = &H100&
Const MB_DEFBUTTON3 = &H200&
Const MB_ICONASTERISK = &H40&
Const MB_ICONEXCLAMATION = &H30&
Const MB_ICONHAND = &H10&
Const MB_ICONINFORMATION = MB_ICONASTERISK
Const MB_ICONQUESTION = &H20&
Const MB_ICONSTOP = MB_ICONHAND
Const MB_OK = &H0&
Const MB_OKCANCEL = &H1&
Const MB_YESNO = &H4&
Const MB_YESNOCANCEL = &H3&
Const MB_ABORTRETRYIGNORE = &H2&
Const MB_RETRYCANCEL = &H5&
Public Declare Function MessageBox Lib "user32" Alias "MessageBoxA" _
(ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, _
ByVal wType As Long) As Long

et faire
Dim reponse As Integer
reponse = MessageBox(0, "Votre Message", "Titre de la fenêtre", MB_ICONQUESTION)

lien ici pour voir un peu plus
https://access.developpez.com/sources/?page=commondlg#Messagebox
0