cs_lapprentie
Messages postés12Date d'inscriptionjeudi 26 avril 2007StatutMembreDernière intervention 2 mai 2007
-
30 avril 2007 à 10:00
cs_lapprentie
Messages postés12Date d'inscriptionjeudi 26 avril 2007StatutMembreDerniè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.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_lapprentie
Messages postés12Date d'inscriptionjeudi 26 avril 2007StatutMembreDerniè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)