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 -
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,
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,
1 réponse
-
Bonjour,
Mettre le msgbox en modal pour être sûre.
MsgBox "texte", vbApplicationModal
Cordialement-
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 -
-
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.... -
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
-
Alors ca fonctionne avec l'Api Windows
Coller ceci en hautConst 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 faireDim 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
-