Msgbox "avec horloge"...au secours

cs_lapprentie Messages postés 12 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 2 mai 2007 - 30 avril 2007 à 10:00
cs_lapprentie Messages postés 12 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 2 mai 2007 - 30 avril 2007 à 13:08
Bonjour à toutes et à tous,

Dans un tableau de 25 colonnes et y lignes ( y n'étant pas défini car le nombre de lignes croît en fonction des données entrées par l'utilisateur).

J'aimerais savoir comment faire apparaître une MsgBox 15 secondes environ,  après l'ouverture de la feuille où est compris mon tableau.

La Msgbox, après information du message spécifique que je veux lui donner (ex. " il faut revoir les lignes y1, y2, y6"), demandera ensuite, quant est-ce qu'elle rappellera le message  à nouveau (1, 2,3,... x jours).

Rq: Lors de la première ouverture de la feuille la MsgBox apparaîtra 15s après, mais après cela sera fixé par l'utilisateur.

Merci d'avance pour votre aide.

7 réponses

Big200148 Messages postés 149 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 23 juillet 2009
30 avril 2007 à 10:12
met un timer ca sera facil à réaliser comme ca
0
cs_lapprentie Messages postés 12 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 2 mai 2007
30 avril 2007 à 10:13
connais tu la syntaxe?
0
Big200148 Messages postés 149 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 23 juillet 2009
30 avril 2007 à 10:21
http://plasserre.developpez.com/v4-5.htm
Je pense que ca t'aideras
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 avril 2007 à 11:38
Bonjour,
Mais non !
Pas d'insertion de Timer pour celà !


Il te faut simplement utiliser la fonction Timer, pas le contrôle Timer :

Ainsi, dans l'événement Activate de ta Form :

Private Sub Form_Activate()
  Static couic As Boolean
  If couic Then Exit Sub
  Static depart As Long
  depart = Timer
  While Timer <= depart + 15
     DoEvents  ' de sorte à ce que tout le reste continue quand même à travailler
  Wend
  MsgBox "voilà"
  couic = Not couic
End Sub

La booléenne couic n'est là que popur empêcher que la msgbox ne se relance à chaque événement activate nouveau éventuel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lapprentie Messages postés 12 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 2 mai 2007
30 avril 2007 à 12:15
Je n'utise pas de userform (je travaille sur une feuille), ne serait-ce pas mieux de faire appel à l'évènement :
worksheet_activate()?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 avril 2007 à 12:21
Je ne connais rien à VBA et ne sais donc te répondre sur ce point particulier...
Lais il te suffit d'essayer, ma foi, pour le savoir....
0
cs_lapprentie Messages postés 12 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 2 mai 2007
30 avril 2007 à 13:08
Je n'aboutis pas à ce que je veux:

Le code proposé permet:
l'apparition du message pendant 15s lors de l'ouverture de ma Feuil2 (là où se trouve le tableau)
Si l'ouverture du classeur se fait sur Feuil2, le message n'apparaît pas.
Il faut ouvrir une autre feuille puis ensuite revenir sur Feuil2

Or j'aimerai faire apparaître le message 15 s après l'ouverture de la Feuil2

Voici mon morceau de code:

Private Sub Worksheet_Activate()
Dim i, bas As Integer
Dim message As String
message = "La facturation est incomplète pour les N° :"
 
bas = Range("A7").End(xlDown).Value
 
Static couic As Boolean
    If couic Then Exit Sub
    Static depart As Long
    depart = Timer
    While Timer < depart + 2
    DoEvents  ' de sorte à ce que tout le reste continue quand même à travailler
    MsgBox "bonjour"
    Wend

'Ce qui suit est en commentaire pour l'instant, mais ceux sont les conditions d'apparition 'du MsgBox 

'For i = 7 To bas
'If Cells(i, 15).Interior.Color.Index = 3 Then
      '  If Cells(i, 15).Value <> Cells(i, 16).Value Then
          '  message = message & " - " & CStr(i)
       ' End If
'ElseIf Cells(i, 15).Interior.Color.Index = 7 Then
        'If Cells(i, 15).Value <> Cells(i, 16).Value Then
          '  message = message & " - " & CStr(i)
        ' End If
'End If
'Next i
'MsgBox (message)


couic = Not couic
End Sub
0
Rejoignez-nous