Faire clignoter un mot dans un Label et
Résolu
Dudulleray
-
dudulleray -
dudulleray -
Bonsoir a toutes et tous, forum
Voila je souhaiterai svp faire deux petites Sub pour faire clignoter (pas trop vite) un mot dans un Label et dans un CommandBoutton.
PS: le mot "Sélection" pour le Label45 et "Valider" pour le commandbutton5
Merci a vous et de votre temps
Bon W-end a vous
Cdlt Ray
Voila je souhaiterai svp faire deux petites Sub pour faire clignoter (pas trop vite) un mot dans un Label et dans un CommandBoutton.
PS: le mot "Sélection" pour le Label45 et "Valider" pour le commandbutton5
Merci a vous et de votre temps
Bon W-end a vous
Cdlt Ray
10 réponses
-
Bonjour,
code a mettre dans un module
vous pouvez utilisez ces deux vaiables pour arreter les clignotants
Public Arret_timer1 As Boolean
Public Arret_timer2 As Boolean
'le mot "Sélection" pour le Label45 et "Valider" pour le commandbutton5
Sub Clignotant1()
If Arret_timer1 Then Exit Sub
If UserForm1.Label45.Caption = "" Then
UserForm1.Label45.Caption = "Sélection"
Else
UserForm1.Label45.Caption = ""
End If
Application.OnTime Now + TimeValue("00:00:02"), "Clignotant1"
End Sub
Sub Clignotant2()
If Arret_timer2 Then Exit Sub
If UserForm1.CommandButton5.Caption = "" Then
UserForm1.CommandButton5.Caption = "Valider"
Else
UserForm1.CommandButton5.Caption = ""
End If
Application.OnTime Now + TimeValue("00:00:02"), "Clignotant2"
End Sub
Bonne suite-
Bonsoir f894009,
Merci une nouvelle fois pour ton aide, ca fonctionne bien
et je souhaiterai svp une Sub pour arreter chaque clignotement que je
pourrai appeller quand besoin de stopper le clignotement de l'un ou de l'autre
ou que ca s'arrète tout seul au bout de X secondes; j'adapterai selon mon besoin
Merci beaucoup pour le coup de main, c'est sympa
Bonne soirée
Ray -
-
Bonjour f894009,
Merci pour ta réponse ca fonctionne très bien, et deux questions si tu veux bien.
(1) Comment faire svp pour qu'un clignotement s'arrète tout seul au bout de 10 secondes par exemple.
(2) Si je veux que ca clignote plus vite disons pour Exemple 3 fois par secondes.
Merci a toi et Dimanche de pâques
Cdlt Ray -
Bonjour,
Avec Application.OnTime------->Une fois par seconde maximum, si vous voulez trois fois par seconde c'est une autre programmation. Il faut faire attention car cela "penalise" le fonctionnement global de l'application.
Pour arreter au bout de x secondes, soit vous faire un compteur qui s'incremente a chaque passage dans le sub clignotant et des que le compte est bon vous passez Arret_timerx a true
Bonne suite -
Re salut f894009
Merci pour ta réponse j'ai fait des essais chercher exemple un code mais pas trouver et pas réussi a faire ce que je voulais.
et tu a raison car le clignotement pénalise l'application, c'est mème chiant quand on rempli un formulaire ou quand on modifie .et que le clignotement est toutjours actif, il faudrai que je trouve autre chose
c'est pas grave, je chercherai un modèle cette après midi
Bon Dimanche a toi encore merci pour ton aide, bon app
Ray
-
-
Bonjour,
Un peu plus tôt ! :D
Un exemple à adapter
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques. -
Bonjour lermite222
Merci pour ton fichier je regarde de plus prèt
Bon Lundi de Pâques
Cdlt Ray -
Bonjour,
Vous pouvez utiliser ce que lermite vous a propose. Ce sera plus simple pour vous. Ce que je voulais vous proposer est plus complique, utilisation des API de windows.
Bonjour lermite, joyeuses Paques -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour f894009,
Merci pour la réponse
j'ai regarder le fichier de l'ami lermite222, et j'ai fait quelques essais je voulais essayer de modifier mais ca marche pas
je ne souhaite pas que ca démarre ni s'arrete par un click sur un bouton
mais par un Appel par Sub pour Arret ou Marche et je n'ai réussi a le faire.
Merci Bon Lundi de Pâques également
Cdlt Ray -
Re f894009
Voila je ne sais pas si c'est bien coder, mais ca marche suite au soucis d'hier que je n'arrivai pas a voir ci-dessous
'*****************
Dans les sub arret..., il faut mettre les noms que vous voulez voir affiches
Il faut relancer les sub Clignotant1 et 2 pour que cela clignote de nouveau (ne pas oublier de remettre les Arret_Timer a false)
'*****************
Donc la ca fonctionne, MAIS j'aurai bien voulu faire clignoter plus vite, je n'ai pas réussi a adapter le code de lermitte avec le tien
Dommage snif snif si tu peux faire svp je suis preneur, bien sur LOL
A plus tard et bien de merci
RaymondPublic Arret_Timer1, Arret_Timer2 As Boolean Sub ClignoteSélection() If Arret_Timer1 Then Exit Sub If UserForm1.Frame4.Label45.Caption = "" Then UserForm1.Frame4.Label45.Caption = "Sélection cellule" Else UserForm1.Frame4.Label45.Caption = "" End If Application.OnTime Now + TimeValue("00:00:01"), "ClignoteSélection" End Sub Sub StopSélection() Arret_Timer1 = True UserForm1.Frame4.Label45.Caption = "Sélection cellule" Application.OnTime Now + TimeValue("0:0:01"), "ClignoteSélection" Arret_Timer1 = False End Sub '********************* Sub ClignoteAutomatique() If Arret_Timer2 Then Exit Sub If UserForm1.Frame4.CmBValider.Caption = "" Then UserForm1.Frame4.CmBValider.Caption = "AUTOMATIQUE" Else UserForm1.Frame4.CmBValider.Caption = "" End If Application.OnTime Now + TimeValue("00:00:01"), "ClignoteAutomatique" End Sub Sub StopAutomatique() Arret_Timer2 = True UserForm1.Frame4.CmBValider.Caption = "AUTOMATIQUE" Application.OnTime Now + TimeValue("0:0:01"), "ClignoteAutomatique" Arret_Timer2 = False End Sub -
Bonjour et bonne Pâques à vous aussi.
Dans l'exemple que j'ai posté...
Pas besoin de bouton pour faire fonctionner.
N'importe où dans le code..'Ces 2 lignes font démarer le clignotement du label ClignotLabel = True TimerLab 'Cette ligne l'arrète ClignotLabel = False 'Ces 2 lignes font démarer le clignotement du bouton ClignotBout = True TimerLab 'Cette ligne l'arrète ClignotBout = False
et c'est là qu'est décider la fréquence...Memt = Timer + 1 'Une seconde
Tu peu adapter avec des décimales, par exemple +1.5 ferra une seconde et demi
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques. -
Salut lermite222,
Merci pour tes infos, j'ai imprimer, j'ai bien compris comment marche ton fichier
Mais je n'arrive pas a créer des Subs pour lancer ou arreter le ou les clignotements
si je change de place mis dans un module déplacer feuil bref plein d'essais avec ton
fichier mais il y a toujours une erreur qui pointe son nez.
je n'arrive pas a faire comme souhaiter
Merci de ton aide quand mème, je vais réessayer tout a l'heure
A plus tard merci
Ray -
Bonjour a vous deux
Code de lermite adapte a votre besoin
Option Explicit
Dim Arret_Timer1 As Boolean
Dim Arret_Timer2 As Boolean
Private Sub UserForm_Terminate()
Arret_Timer1 = False
Arret_Timer2 = False
End Sub
'======================
'
Sub StopSélection()
Arret_Timer1 = False
userform1.Label45.Caption = "Sélection cellule"
End Sub
Sub StopAutomatique()
userform1.CmBValider.Caption = "AUTOMATIQUE"
Arret_Timer2 = False
End Sub
'======================
'Bouton
'Arret/demarre clignotantLabel:"Sélection cellule"
Private Sub CommandButton1_Click()
Arret_Timer1 = Not Arret_Timer1
'Lance routine clignotant Label
If Arret_Timer1 Then
TimerLab_Bout
Else
userform1.Label45.Caption = "Sélection cellule"
End If
End Sub
'Bouton
'Arret/demarre clignotant Bouton:"AUTOMATIQUE"
Private Sub CommandButton3_Click()
Arret_Timer2 = Not Arret_Timer2
'Lance routine clignotant Bouton
If Arret_Timer2 Then
TimerLab_Bout
Else
userform1.CmBValider.Caption = "AUTOMATIQUE"
End If
End Sub
'Clignotant pour Label et Bouton
Sub TimerLab_Bout()
Static Memt As Double
Do While Arret_Timer1 Or Arret_Timer2 'Clignotant Label ou Clignotant Bouton Ok
If Memt < Timer Then
If Arret_Timer1 Then
If userform1.Label45.Caption = "" Then
userform1.Label45.Caption = "Sélection cellule"
Else
userform1.Label45.Caption = ""
End If
End If
If Arret_Timer2 Then
If userform1.CmBValider.Caption = "" Then
userform1.CmBValider.Caption = "AUTOMATIQUE"
Else
userform1.CmBValider.Caption = ""
End If
End If
Memt = Timer + 0.333 'Interval temps: 1/3 de seconde
End If
DoEvents
Loop
End Sub -
Bonsoir f894009
Merci pour le code j'ai bidouilller un peu et puis j'ai fini d'adapter le code a mon programme.
Cette fois tout est bon, tout fonctionne bien
je te remercie beaucoup pour ton aide
ainsi que l'ami lermite222 pour le code fourni
Encore pleins de merci a vous deux
Cordialement Raymond