Poitn de suspension

Signaler
Messages postés
43
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2008
-
Messages postés
43
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2008
-
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

Messages postés
49
Date d'inscription
lundi 25 octobre 2004
Statut
Membre
Dernière intervention
23 février 2010

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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
49
Date d'inscription
lundi 25 octobre 2004
Statut
Membre
Dernière intervention
23 février 2010

Oups ! petite erreur :
Il faut plutot mettre StrDup(NbrPoints,".") !!

C'est un art la programmation, non
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
43
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2008

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
Messages postés
43
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2008

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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
43
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2008

J'ai essayer et sa ma mis en rouge
Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
49
Date d'inscription
lundi 25 octobre 2004
Statut
Membre
Dernière intervention
23 février 2010

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
Messages postés
43
Date d'inscription
mercredi 9 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2008

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