cs_akmer
Messages postés43Date d'inscriptionmercredi 9 avril 2008StatutMembreDernière intervention 9 septembre 2008
-
19 mai 2008 à 10:40
cs_akmer
Messages postés43Date d'inscriptionmercredi 9 avril 2008StatutMembreDerniè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
cs_Gammacronosios
Messages postés49Date d'inscriptionlundi 25 octobre 2004StatutMembreDernière intervention23 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...)
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)
cs_akmer
Messages postés43Date d'inscriptionmercredi 9 avril 2008StatutMembreDerniè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
cs_akmer
Messages postés43Date d'inscriptionmercredi 9 avril 2008StatutMembreDerniè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
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 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
cs_akmer
Messages postés43Date d'inscriptionmercredi 9 avril 2008StatutMembreDerniè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.