Problème VBA EXCEL : Label clignotant

Résolu/Fermé
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015 - 22 janv. 2015 à 22:17
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015 - 25 janv. 2015 à 13:51
Bonjour,

je suis débutant en VBA excel, j'ai créé un label non visible sur mon USERFORM qui se déclenche en alerte lorsque je dépasse quelques conditions. je voulais par conséquent le rendre clignotant lorsqu'il devient visible . comme dois-je procéder SVP?

Merci pour votre réponse.
A voir également:

6 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
23 janv. 2015 à 07:03
0
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015
Modifié par pijaku le 23/01/2015 à 11:08
Bonjour,

Merci pour votre réponse. le problème c'est que je suis débutant en VBA et j'ai pas pu adapter le code sur mon problème. voici mon code :

For Each TheRow In Feuil9.ListObjects("Tab_Taux").ListRows

    'On recherche la ligne qui correspond à critère Montant et Nbr de jour
   If TextBox3 <> "" And TextBox7 <> "" And TextBox11 <> "" And ComboBox1 <> "" Then
    
    If (CDbl(TextBox7.Text) >= TheRow.Range(1, 1).Value) And (CDbl(TextBox7.Text) <= TheRow.Range(1, 2).Value) And (CDbl(TextBox3.Text) >= TheRow.Range(1, 3).Value) And (CDbl(TextBox3.Text) <= TheRow.Range(1, 4).Value) Then
        'On controle le taux
        If CDbl(TextBox11.Text) > TheRow.Range(1, 5).Value And CheckBox1.Value = False Then
            TextBox11.Value = ""
            MsgBox " (1ère Consultation)  Dépassement du Taux Maximal :  " & TheRow.Range(1, 5).Value & " % "
            CheckBox1.Visible = True
            'On quitte la boucle
            Exit For
        End If
    End If

 End If
Next



- je veux que lorsque le checkbox1 devient visible son label commence à clignoter.

Merci.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
23 janv. 2015 à 11:07
Re,

Pourquoi une checkbox ????

exemple complete avec clignote checkbox:
plus simple a comprendre
https://www.cjoint.com/c/EAxlqNhRTRB
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
23 janv. 2015 à 11:15
Bonjour,

@f894009 : Juste une petite mise en garde sur l'utilisation de DoEvents en boucle.
A la suite d'une remarque d'UcFoutu (que tu as croisé sur le site CCM/CodeS SourceS), j'ai réalisé, avec lui, une petite étude sur l'utilisation de DoEvents. Tu la trouvera ici : https://codes-sources.commentcamarche.net/faq/11087-vba-doevents-problemes-et-solutions

Juste pour te montrer, par l'intermédiaire de ton code, la portée de ce machin, teste ce code :
Il s'agit de ton code de clignotement de label auquel j'ai ajouté un compteur de DoEvents. Laisse le fonctionner 3-4 secondes, tu seras surpris du résultat.
'Clignotant pour Label et Bouton
Sub TimerLab_Bout()
Static Memt As Double, Cpt As Long
    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: Cpt = Cpt + 1
    Loop
    MsgBox Cpt
End Sub


Il vaut mieux, d'autant plus que tu maîtrises VB, utiliser un véritable Timer comme indiqué dans le tutoriel.

Sur ce, bonne continuation.
@+
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
23 janv. 2015 à 11:29
Bonjour,

merci

suis au courant pour Doevents, mais c'est le premier exemple que j'ai trouve dans mon fourbis

Connais bien ontime, y a meme des timer system avec les API qui ont l'avantage de compter ou decompter (suivant du cote on se place) plus "juste" que ontime et ne sont pas trop perturbes par la charge CPU
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
23 janv. 2015 à 11:34
De rien.

c'est le premier exemple que j'ai trouve dans mon fourbis
D'où mon intervention pour compléter ta réponse. Fort juste par ailleurs et qui peut se suffire à elle-même, bien entendu.

y a même des timer system avec les API
Oui... Je me doutais bien que tu connaissais.
0

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

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
23 janv. 2015 à 12:10
Re,

LANGAZOU:
exemple avec OnTime: https://www.cjoint.com/c/EAxmqNfLPOM

pijaku: ai suivi le lien, c'est bien fait, vaut le cout d'etre consulte
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
23 janv. 2015 à 14:04
Merci.
@+
0
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015
25 janv. 2015 à 13:51
Merciii beaucoup pour votre aide ;)
0