cs_Marathon Man
Messages postés71Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention 6 septembre 2006
-
1 sept. 2006 à 19:50
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
3 sept. 2006 à 14:40
Bonjour ,
je n'ai pas trouvé de timer dans le visual basic d'exel
je voudrais afficher une page d'accueil pendant 3 secondes à l'ouverture du classeur
avez-vous une astuce ?
Merci d'avance
A voir également:
Accueil nouveaut�s "inscrire un site" contact admin
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 1 sept. 2006 à 20:45
Salut Casy,
HéHé, le coup des images, c'est perso, (j'ai trouvé en fouillant les autres) pour le code pas de prob, je te chercherai ça tout à l'heure et te l'enverrai par MP. (on m'a d'ailleurs gentiment donné le lien, qques modif à faire sur les couleurs, c'est tout. Bon plus l'entete avec les images)
Pour de bon, ça me supprime la parenthèse, là je viens de vérifier, elle était là :
Public Declare Function KillTimer Lib "user32" _
(ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Bizarre, cette affaire, il m'avait semblé l'avoir déjà vu.
Pour les images, il suffit dans le code, pendant la transcription en html, de placer l'entête avec une image stocké sur un hébergeur.
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Private Declare Function FindWindowA Lib "user32" _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Workbook_Open()
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
"X", "D") & "Frame", Application.Caption)
Sheets("Nom de ta feuille de présentation").Select
Call StartTimer
End Sub
' *** dans un Module :
Option Explicit
Public Declare Function SetTimer Lib "user32" _
ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" _
ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Public TimerID As Long
Public hwnd As Long
Sub StartTimer()
TimerID = 1
SetTimer hwnd, TimerID, 3000, AddressOf MonTimer
' *** remplace 3000 (3 secondes) par la valeur voulue
End Sub
Public Sub MonTimer(ByVal hwnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long)
Sheets("Nom de la feuille qui vient après la présentation").Select
Call KillTimer(hwnd, TimerID)
End Sub
<small> Coloration syntaxique automatique</small>
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 1 sept. 2006 à 20:02
Re,
essaie ceci :
<small>
Coloration syntaxique automatique </small>
' *** dans le module ThisWorkBook :
Private Sub Workbook_Open()
UserForm1.Show ' remplace UserForm1 par le nom que tu as attribué
End Sub
' *** Dans UserForm1 :
Option Explicit
Private Declare Function FindWindowA Lib "user32" _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub UserForm_Activate()
Call StartTimer
End Sub
Private Sub UserForm_Initialize()
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
"X", "D") & "Frame", Me.Caption)
End Sub
Private Sub UserForm_Terminate()
Call KillTimer(hwnd, TimerID)
End Sub
' *** dans un Module :
Option Explicit
Public Declare Function SetTimer Lib "user32" _
ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" _
ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Public TimerID As Long
Public hwnd As Long
Sub StartTimer()
TimerID = 1
SetTimer hwnd, TimerID, 3000, AddressOf MonTimer
' *** remplace 3000 (3 secondes) par la valeur voulue
End Sub
Public Sub MonTimer(ByVal hwnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long)
Unload UserForm1
' *** ici tu peux lancer un autre UserForm (NomUserForm.Show)
End Sub
<small>
Coloration syntaxique automatique</small>
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 1 sept. 2006 à 20:28
As-tu bien inséré un nouveau module ? (qui s'appelle par défaut Module1)
La toute prmière ligne doit être Option Explicit puis ces trois lignes viennent à la suite.
Si tu fais un copier coller de mon code, tout en remplaçant UserForm1 (dans le code) par le bon nom de ton UserForm, cela doit fonctionner (testé chez moi, bien sûr)
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 1 sept. 2006 à 20:33
Arf, je sais pourquoi, j'ai ma Coloration Syntaxique qui me fait défaut (faudra que je règle ce problème) :
Il me supprime la parenthèse :
Private Declare Function FindWindowA Lib "user32" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SetTimer Lib "user32" ( _
ByVal hwnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" ( _
ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Je te les ai mise en rouge, il faut les rajouter, ainsi qu'un espace après.
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
cs_Marathon Man
Messages postés71Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention 6 septembre 2006 1 sept. 2006 à 22:03
Si j'adapte le code pour afficher une feuille en mettant dans le code de la ce que je dois mettre
dans le code de l'userform et changeant userform partout par le nom de la feuille
cs_Marathon Man
Messages postés71Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention 6 septembre 2006 1 sept. 2006 à 22:16
Pas de problème je vais chercher un peu et refaire pas page d'accueil
car je pense que l'on peut changer les polices du texte de l'userform et que l'on peut mettre un peu de couleur et que l'on peut l'afficher en plein écran
cs_Marathon Man
Messages postés71Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention 6 septembre 2006 2 sept. 2006 à 08:26
Salut Mortalino,
La page d'accueil avec un userform, ce n'est pat top.
Peut-être que je mis prend comme un manche. J'ai refait le code pour essayer d'afficher une feuille
pendant 3s et ensuite aller sur une page menu.Sans succés
cs_Marathon Man
Messages postés71Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention 6 septembre 2006 2 sept. 2006 à 18:28
Un petit soucis
La page d'accueil s'affiche bien pendant 3 seconde et j'arrive bien sur ma page menu
Néanmoins, lorsque je clique sur l'un de mon lien dans mon menu pour aller une autre feuille,
il affiche la feuille pendant 3 secondes et revient à la page menu
Est que c'est possible d'arrêter le timer une fois que la feuille menu est affichée ?
cs_Marathon Man
Messages postés71Date d'inscriptionlundi 24 juillet 2006StatutMembreDernière intervention 6 septembre 2006 3 sept. 2006 à 10:16
Private Declare Sub
Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep 5000
Salut Mortalino,
j'ai en fin réussi à afficher une page d'accueil et à faire une paus avec la commande ci dessus
j'avais un problème avec ton code qui ne fonctionnait pas bien
J'ai exécuté une macro en auto_open(page d'accueil) et je lui ai mis ce code et ensuite je l'ai dirigé vers le menu