IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Faire clignoter un mot [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut Faire clignoter un mot
    Bonjour a tous et toutes, forum bonjour,

    je souhaiterai SVP faire clignoter un mot en VBA simplement, réglable si possible

    Ex Si A2=10 then "Erreur" et que le mot erreur clignote

    Merci a vous et de votre temps bonne journée

    Raymond

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bonjour,

    Après avoir fouillé un peu je viens de trouver un petit truc sympa !

    Alors tout d'abord t'as une procédure "Flash" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Flash()
        NextTime = Now + TimeValue("00:00:02") ' Fréquence du "Flash"
        With ActiveWorkbook.Styles("Flashing").Font
            If .ColorIndex = xlAutomatic Then .ColorIndex = 3
            .ColorIndex = 5 - .ColorIndex
        End With
        Application.OnTime NextTime, "Flash"
    End Sub
    Tu peux changer les couleurs et tout ce qui t'intéresse !

    Ensuite, dans ta macro principale tu mets un classique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Range("A2")="10" Then 
        Range("A3")="Erreur !!! Ca va exploser !!!"
        Call Flash
    End if
    Enfin, tu crées un style pour ta cellule A3 que tu appelles Flashing (tu mets ce que tu veux dans ton style).

    Tu lances ta macro et youpi ! Ca marche ! (J'ai testé !)

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Salut dead78 ,forum

    Merci pour ta reponse rapide, juste pour savoir, je mets la procédure "Flash"

    dans ThisWorkbook c'est bien ca SVP

    Merci et a plus tard bonne apres midi

    Raymond

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Dans ThisWorkBook c'est bon ou bien dans un module si tu veux

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    REre

    j'ai craquer plus fort que moi, j'ai essayer mais j'ai une erreur sur ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With ActiveWorkbook.Styles("Flashing").Font
    moi ca ne me parle pas du tout

    merci de me dire si tu sais de quoi ca provient svp

    raymond

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Ben je ne comprends pas, j'ai testé chez moi, j'ai Excel 2003 et ça marche parfaitement.

    As-tu créé un style sur ta cellule qui doit clignoter ? Tu la sélectionnes, tu vas dans format, style etc. comme je t'ai dit. Là, tu changes le nom du style en Flashing et seulement après tu lances ta macro.

    Si tu as fait tout ça, quel est l'intitulé de l'erreur ?

  7. #7
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    RE

    J'ai essayer toujours pareil meme erreur

    suis sur XL 2007

    Erreur d'éxécution 9
    l'indice n'appartient pas a la selection
    Ray

    re

    J'ai essayer ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With ActiveWorkbook.Styles("Normal").Font <<<<<  pour essai
    If .ColorIndex = xlAutomatic Then .ColorIndex = 3 <<< bug .ColorIndex = 3 en jaune 
    .ColorIndex = 5 - .ColorIndex
    End With
    mais ca bug au niveau couleur

    Ray

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Donc tu n'as plus d'erreur au niveau du style ?

    Quel est le bug exact ? Chez moi, tout devient blanc (sur blanc donc) puis rouge etc.

  9. #9
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    re

    La syntaxe couleur semble ne pas lui plaire

    .ColorIndex = 3 si je remplace par beep

    ca plante

    .Colorindex = 5 - .Colorindex

    erreur d'éxécution 1004

    erreur définie par l'application ou par l'objet


    Merci a toi

    A plus

  10. #10
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Par défaut
    Salut ,
    j'ai essaié de faire un fichier avec ce que vous expliquez mais j'arrive pas , ça sera très interessant de joindre un fichier modèl et merci
    Cordialement

  11. #11
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Bonjour mapokko, bonjour forum,

    Merci d'avoir regarder le code se trouve plus haut envoyer hier 14h40 par Dead78 que je salut au passage, fonctionne bien sous excel 2003 mais vois mes commentaires pour excel 2007

    bonne journée a toi si tu as quelque chose qui marche, suis preneur

    a plus tard
    raymond

  12. #12
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Peut-être avec un code qui détecte automatiquement l'erreur ?
    Dans un module général genre Module1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Public NoAction As Boolean
    Public R As Range
     
    Public Sub Flash()
    Static Coul As Boolean, VV
        If Coul Or Not NoAction Then
            Coul = False
            R.Interior.ColorIndex = xlNone
            R.Font.ColorIndex = 0
        ElseIf Not Coul And NoAction Then
            R.Font.ColorIndex = 6
            R.Interior.ColorIndex = 3
            Coul = True
        End If
        If NoAction Then
            VV = Now + TimeValue("00:00:01")
            Application.OnTime VV, "Flash"
        End If
    End Sub
    Dans le module de la feuille où est située la cellule à détecter,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static AncAdd As String
        If Target.Count > 1 Then Exit Sub
        If AncAdd = "$A$1" Then
            If Range(AncAdd) <> "" And Range(AncAdd) < 10 Then
                NoAction = True
                Set R = Range(AncAdd)
                Flash
            End If
        ElseIf Target.Address = "$A$1" Then 'arrète le clignotement
            NoAction = False
        End If
        AncAdd = Target.Address
    End Sub
    Si la cellule A1 n'est pas vide mais qu'elle contient un nombre <10... Clignote, si rectifie, arrète le clignotement. A toi d'adapter adresse et couleur.
    Tester sur 2000 et 2007.
    A+

  13. #13
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Salut Leforestier, forum

    Merci pour la reponse rien ne va, j'ai laisser tomber je cherche un autre code plus simple.
    En plus je voudrai faire clignoter un mot "erreur" dans une cellule que ca clignote rapidement(réglable) vitesse de clignotement et temps de clignotement avec le code DoEvents et boucle For j'ai deja vu, ca marchai bien.

    voila en tout cas merci de ton aide
    bonne apres midi a toi
    Raymond

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/12/2004, 15h16
  2. [Label] Comment faire clignoter un label ?
    Par delphicrous dans le forum Composants VCL
    Réponses: 7
    Dernier message: 09/07/2004, 16h50
  3. Faire clignoter la barre des tâches
    Par SteelBox dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 18h16
  4. [Sans MFC]Faire clignoter l'icone d'une application?
    Par Melchisedec dans le forum MFC
    Réponses: 4
    Dernier message: 16/07/2003, 12h14
  5. Faire clignoter un caractère
    Par gtr dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 11/01/2003, 00h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo