Poitn de suspension

cs_akmer Messages postés 43 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 9 septembre 2008 - 19 mai 2008 à 10:40
cs_akmer Messages postés 43 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 9 septembre 2008 - 20 mai 2008 à 08:30
J'ai une userform qui apparait lors du chargement de mon application et sur laquel il y a marqué "chargement en cour..."
Je souhaiterais que les 3 point de suspension bouge c'est à dire qu'il s'allumme un à un
Est- ce possible?
Merci d'avance

11 réponses

cs_Gammacronosios Messages postés 49 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 23 février 2010
19 mai 2008 à 10:55
Salut


Oui c'est possible, pour cela il te faut un Timer.
Tu demande qu'à chaque evenement Tick du timer, la form doit afficher un,deux, ou trois points après "Chargement en cours"

Je te montre :

Private Dim NbrPoints asshort = 0
Private Sub Timer1_Tick (sender as object, e as eventargs) handles Timer1.Tick
      NbrPoints = NbrPoints+1
      If NbrPoints > 3 Then NbrPoints = 1
      Me.Label1.Text = "Chargement en cours " & StrDup(".",NbrPoints)
End sub

Biensûr, "label1" fait référence au control qui affiche "Chargement en cours", mais comme je ne connais pas son nom...
Aussi, n'oublie pas de définir la propriété "Enabled" à True pour que ton Timer soit activé et que son interval soit > à 0 (1000 par ex...)

A bientot !

C'est un art la programmation, non
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 mai 2008 à 10:55
utilise la fonction timer, change ton text à chaque lancement de celui-ci, une fois fait, arrête ton timer

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
cs_Gammacronosios Messages postés 49 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 23 février 2010
19 mai 2008 à 10:58
Oups ! petite erreur :
Il faut plutot mettre StrDup(NbrPoints,".") !!

C'est un art la programmation, non
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 mai 2008 à 10:58
salut [auteur/GAMMACRONOSIOS/366946.aspx Gammacronosios]

Bien qu'il ait posté dans la rubrique vb.Net, je soupçonne qu'il soit en VBA (car il parle de UserForm).
Donc pas de contrôle Timer, seulement la fonction (ou il peut utiliser l'API SetTimer ou encore se fabriquer le contrôle par l'intermédiaire de vb6, en tant que UserControl pour en faire un OCX)

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0

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

Posez votre question
cs_akmer Messages postés 43 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 9 septembre 2008
19 mai 2008 à 11:13
Je suis dsl mais je ne comprend pas tous, je suis débutant.
Mon texte s'appelle label 1 aussi.
Votre formule je la colle où précisément?
Définir la propriété "Enabled" à True, je fais sa comment?
Merci de votre aide
0
cs_akmer Messages postés 43 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 9 septembre 2008
19 mai 2008 à 11:21
Pouvez m'expliquer comment dois je faire pour faire apparaitre ces 3 points un à un et de façon répété.
Et je suis bien sous vba de Excel
Merci d'avance pour votre aide
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 mai 2008 à 11:54
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal _

lpTimerFunc As Long) As Long


Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long



dim MyTimer as long
const MonMessage = "Veuillez patientez " as string

private sub TimerSub()
static Counter as integer
Dim vartemp as string

Counter = Counter  + 1
vartemp = space$(Counter)
vartemp = replace(" ", ".")
label1.Caption = MonMessage & vartemp
If Counter = 3 then KillTimer 0, MyTimer
end sub

Sub WorkBook_Open()
MyTimer = SetTimer(0, 0, 1000, addressof TimerSub)
end sub
<hr size="2" width="100%" />pas testé, suis au taf, mais les grandes lignes y sont

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
cs_akmer Messages postés 43 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 9 septembre 2008
19 mai 2008 à 15:50
J'ai essayer et sa ma mis en rouge
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
19 mai 2008 à 15:52
tu l'as bien placé dans les déclarations ?
(hors Sub, au dessus de tout)

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
cs_Gammacronosios Messages postés 49 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 23 février 2010
19 mai 2008 à 17:21
Ah... désolé
Je ne connais le vb qu'a partir du vb6 (puis .net) mais vba...

je ne peux pas t'aider akmer

C'est un art la programmation, non
0
cs_akmer Messages postés 43 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 9 septembre 2008
20 mai 2008 à 08:30
J'ai fait copier/coller de vos codes à des endroit un peu divers pour tester.
J'ai une userform avec un bouton ok, quand je clique sur ok une autre userform avec marqué chargement en cours (dérriére cette userform il y a tous les codes qui fotn mon logiciel) et quand c'est fini cette userform se ferme.


J'éspére que cela vous aidera cordialement
0
Rejoignez-nous