Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Msgbox à afficher toute les heures

  • Initiateur de la discussion Initiateur de la discussion llambry
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

llambry

Guest
😕 Bonjour

Je voudrait que mon msgbox apparaisse toute les heures en fonction d'une condition :
pour le moment mon msgbox ne fonctoin que lorsque je change de feuille et que la condition est rempli.

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

If Sheets("Kanban").Range("an200").Value <> "" Then
MsgBox "N'oublier pas la demande Kanban !!!", vbOK + vbExclamation, "Information Kanban"
End If
Mais je ne sais pas comment faire, besoin d'aide .....
 
Re : Msgbox à afficher toute les heures

Salut llambry, Victor, le forum,

en suivant le même genre de raisonnement que Victor, voici une possibilité.

Dans le module "ThisWorkbook", placez le code suivant :
Code:
Private Sub Workbook_Open()
Dim i As Byte
For i = 0 To 23
    Application.OnTime TimeValue(i & ":00:00"), "Mon_Msgbox"
Next i

End Sub

Dans un module traditionnel, le code suivant :
Code:
Sub Mon_Msgbox()
If Sheets("Kanban").Range("AN200").Value <> "" Then
    MsgBox "N'oublier pas la demande Kanban !!!", vbOK + vbExclamation, "Information Kanban"
End If
End Sub

Donc, à chaque heure, la macro Mon_Msgbox sera lancée automatiquement. La condition mentionnée plus haut se trouve dans la macro Mon_Msgbox.

Cordialement,

Étienne
 
Re : Msgbox à afficher toute les heures

Salut llambry,
effectivement, j'ai oublié de faire repartir le déclenchement.

Voici une solution.
Dans le Module "ThisWorkbook"

Code:
Private Sub Workbook_Open()
    ActiverTimer
End Sub

Dans un module traditionnel
Code:
Sub ActiverTimer()
    
Dim i As Byte
For i = 0 To 23
    Application.OnTime TimeValue(i & ":00:00"), "Mon_Msgbox"
Next i
End Sub

Code:
Sub Mon_Msgbox()
Dim i As Byte

If Sheets("Kanban").Range("AN200").Value <> "" Then
    MsgBox "N'oublier pas la demande Kanban !!!", vbOK + vbExclamation, "Information Kanban"
End If

For i = 0 To 23
    Application.OnTime TimeValue(i & ":00:00"), "Mon_Msgbox"
Next i

End Sub

Une fois que la macro est déclenchée, l'interrupteur se ferme. Si on veut que la macro reparte encore dans une heure, il faut ouvrir l'interrupteur de nouveau.

Le commentaire de Victor est judicieux, la macro est programmée pour se déclencher uniquement aux heures 00 (ex : 1h00, 2h00, 3h00). Si vous voulez changer cette donnée, il n'y a qu'à modifier le code VBA.

Cordialement,

Étienne
 
Re : Msgbox à afficher toute les heures

Bonjour,

Merci Etienne, j'ai mon ton code vba. Mais maintenant lorsque j'ouvre mon fichier, j'ai un message d'erreur VBA : erreur de compilation dans le module caché : this workbook ?????

peu tu m'aider ????
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

G
Réponses
6
Affichages
2 K
Gazzzz
G
M
Réponses
5
Affichages
2 K
mauricette007
M
B
Réponses
0
Affichages
1 K
boniteprobtp
B
M
Réponses
9
Affichages
12 K
marjo_38
M
P
Réponses
8
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…