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 une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut faire clignoter une cellule
    bonjour
    est il possible de faire clignoter une cellule ou une colonne ; non pas avec une macro ; mais avec un format de cellule spécialisée.
    ex : si d4<0 (la cellule d4 clignote sinon rien )





    dans le format de cellule spécialisée ; # ##0\ [rouge]-# ##0\ dans la colonne D
    est il possible de remplacer la fonction [rouge] par une fonction clignot comme dans une macro (voire ci-dessous)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For compteur = 1 To 20
         With Selection
             .Font.Name = "Arial".Size = 14
             .ColorIndex = 3.
         End With 
    Application.Wait Now + TimeValue("00:00:01")
    Application.Wait Now TimeValue("00:00:01")) / 2)
    Si oui , comment
    merci d'avance
    laurent

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut
    Excel ne sait pas gérer le clignotement => pour le faire, on demande à windows de lancer une macro excel à une certaine heure. Alors, d'après ce que j'ai compris du fonctionnement d'Excel, ta demande est irealisable.
    A+

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Une petite recherche et Hop : http://www.developpez.net/forums/showthread.php?t=84394

    Starec

  4. #4
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Il a demandé « sans vba » et par le biais de la mise en forme conditionnelle,
    ce qui est impossible pour la bonne raison que
    1°) Excel évalue une valeur une fois pour toute
    (encore heureux sinon pour peu qu'on ait par exemple un rnd ou un now ayant des dépendances dans une feuille, le résultat serait en recalcul permanent)
    2°) pour la même raison, les formules de mise en forme conditionnelle ne sont évaluées qu'une fois avec un retour vrai/faux)

    En conséquence, utiliser la mise en forme conditionnelle nécessite qu'une cellule (cachée) soit mise à jour à la fréquence voulue et raffraichie automatiquement.

    Exemple proche de ceux fournis
    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
    ' Dans les évènements Workbook
    Private Sub Workbook_Open()
        GetTempo
    End Sub
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Application.OnTime EarliestTime:=Now, Procedure:="GetTempo", Schedule:=False
    End Sub
     
    ' Dans un module
    Dim vTempo As Boolean
     
    Sub GetTempo()
        vTempo = Not vTempo
        Application.OnTime Now + TimeValue("00:00:01"), "GetTempo"
        [Feuil1!A1] = vTempo
    End Sub
    Il reste alors à utiliser le résultat dans la formule de mise en forme conditionnelle
    => =SI(ET($A$4=1;$A$1);VRAI;FAUX)

    Problème
    Les formules de mise en forme conditionnelle ne permettent pas de faire appel à des formules d'autres feuilles
    il faudra donc ajouter dans chaque feuille pour laquelle la clignotement est utilisé un fonction =Feuil1!A1

Discussions similaires

  1. [Toutes versions] Fonction pour faire clignoter une cellule
    Par abdel792 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/01/2011, 18h09
  2. [XL-2003] faire Clignoter une cellule sous condition
    Par LaPanic dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 21/06/2009, 18h49
  3. Faire clignoter une cellule
    Par JP.NUAGE dans le forum Débuter
    Réponses: 4
    Dernier message: 10/07/2008, 21h18
  4. faire clignoter une cellule d'une gridview
    Par guigui11 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/09/2007, 09h44
  5. Faire clignoter une cellule d'un MSFlexGrid
    Par sundjata dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/08/2006, 22h50

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