PAGE D'ACCUEIL

Résolu
cs_Marathon Man Messages postés 71 Date d'inscription lundi 24 juillet 2006 Statut Membre Dernière intervention 6 septembre 2006 - 1 sept. 2006 à 19:50
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 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

18 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
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"
<!--
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
2 sept. 2006 à 08:37
Salut

essaie ce code, je pense que ce sera bon :

<small> Coloration syntaxique automatique </small>

' *** dans le module ThisWorkBook :

Option Explicit 

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"
<!--
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
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"
<!--
0
cs_Marathon Man Messages postés 71 Date d'inscription lundi 24 juillet 2006 Statut Membre Dernière intervention 6 septembre 2006
1 sept. 2006 à 20:10
Je ne veux pas être indiscret mais c'est ton job pour répondre aussi vite
merci je regarde
0

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

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
1 sept. 2006 à 20:21
Non, je suis un débutant qui apprend aussi, en aidant les autres quand je peux.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cs_Marathon Man Messages postés 71 Date d'inscription lundi 24 juillet 2006 Statut Membre Dernière intervention 6 septembre 2006
1 sept. 2006 à 20:24
Je n'ai pas réussite ce soir et il n'y a rien qui se passe. je n'ai pas d'erreur mais j'ai ces trois
lignes en rouge
a++

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
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
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"
<!--
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
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"
<!--
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
1 sept. 2006 à 20:37
Coloration syntaxique

Houuuu, l'excuse en bois.

C'est tout simplement parce que tu réponds plus vite que ton ombre, t'as pas lme temp de tout taper.

Pas mal ton code de coloration, surtout avec les images. Va faloir que tu me le passe.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
cs_Marathon Man Messages postés 71 Date d'inscription lundi 24 juillet 2006 Statut Membre Dernière intervention 6 septembre 2006
1 sept. 2006 à 21:43
Nickel il faut que je fasse une belle présentation

Bon week end
0
cs_Marathon Man Messages postés 71 Date d'inscription lundi 24 juillet 2006 Statut Membre Derniè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

tu penses que cela peut marcher ?

en fait ma page d'accueil c'est une feuille

a+
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
1 sept. 2006 à 22:12
Non,

ça ne marchera pas. (plusieurs modifs à faire)
Ne peux -tu pas adapter une Form en page d'accueil ?

++
0
cs_Marathon Man Messages postés 71 Date d'inscription lundi 24 juillet 2006 Statut Membre Derniè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

a+
0
cs_Marathon Man Messages postés 71 Date d'inscription lundi 24 juillet 2006 Statut Membre Derniè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

Si tu as une idée ?

Merci et bonne journnée à tous
0
cs_Marathon Man Messages postés 71 Date d'inscription lundi 24 juillet 2006 Statut Membre Dernière intervention 6 septembre 2006
2 sept. 2006 à 17:11
Super c'est nickel, maintenant je vais faire un mix avec un autre code pour que cela soit en plein écran

Bon week-end à toi
0
cs_Marathon Man Messages postés 71 Date d'inscription lundi 24 juillet 2006 Statut Membre Derniè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 ?

a+
0
cs_Marathon Man Messages postés 71 Date d'inscription lundi 24 juillet 2006 Statut Membre Derniè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

Bon week-end
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
3 sept. 2006 à 14:40
Bien vu la fonction Sleep 

Content de savoir que tu aies réussi à faire ce que tu voulais.

Bon Week-end aussi !

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
Rejoignez-nous