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 sous condition [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut faire Clignoter une cellule sous condition
    Bonjour tlm,
    afin de mieux contrôler le temps d'attente des clients je voudrais qu'après une heure du changement du statut du client à en cours la cellule en cours se mette a clignoter.
    ci-joint un exemple

    Merci pour votre aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Points : 225
    Points
    225
    Par défaut
    Hello,

    Pas très claire ta demande, peux-tu être plus précis ?

    Quelle cellule tu veux qu'elle clignote ? En colonne A, B ou C ?
    C'est quoi le statut ?

    En fonction de quoi change ce statut ?

    Désolé mais je ne comprends pas

    Cdt, Anton.

  3. #3
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Merci Antoniom pour ta réponse,
    dès que je reçois un client j'inscris son nom et je remet son appareil a l'atelier de réparation donc je change le statut sur la colonne C a "en cours" et je lui demande de patienter, je voudrais qu'après une heure la cellule correspondante au statut du client si elle est toujours sur "en cours" donc elle commence a clignoter
    c'est en fait une sorte de timer ,je ne sais pas si j'ai été claire, je suis a votre disposition pour plus de détails

    merci pour votre aide

  4. #4
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour LaPanic Antoniom le forum
    tu trouveras plein d exemples sur le forum ou sur google mais attention gérer le clignotement d 'une cellule c' est pas si simple que cela y parait dans ton cas tu peus te retrouver a faire clignoter plusieurs cellules timer pour demarrer timer pour arreter ect... cela risque de devenir vite une usine a gaz !!!! a mediter

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Points : 225
    Points
    225
    Par défaut
    Re, LaPanic slt Laetitia,

    Un début de soluce, mais inachevé du fait que je n'arrive pas à indiquer qu'il affiche l'heure avec une heure en plus.

    Mais c'est un début...

    Bonne fin de dimanche.

    Anton.

  6. #6
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Merci pour vos reponses,

    cela risque de devenir vite une usine a gaz !!!! a mediter
    le nombre de clients est de dix par jour donc serrait-possible de le faire?

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Points : 547
    Points
    547
    Par défaut
    Salut,

    Un petit exemple avec macro + MFC.
    En cellule C1 :
    1. 1 -> signifie que le timer est en route
    2. 0 -> signifie que le timer est arrete

    En cellule D1 (pour la MFC) :
    1. 1 -> pour appliquer la MFC (une des condtions)
    2. 0 -> pour ne pas appliquer la MFC (une des condtions)


    En colonne D a cote du status (Fait ou En cours)
    la l'heure maxi avant le declanchement de la MFC

    En colonne C MFC (faire la mise en forme selon tes gouts [coueur, police, etc...]):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET($D3<>0;$C$1=1;$D$1=1;$C3="En cours";MAINTENANT()>$D3)
    Dans le code de la Feuil1:
    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
    Option Explicit
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Row > 2 And Target.Column = 3 Then
            Application.EnableEvents = False
                If Target.Value = "En cours" Then
                    If Target.Offset(, 1).Value = "" Then
                        Target.Offset(, 1).Value = Now + TimeValue("01:00:00")
                    End If
                Else
                    Target.Offset(, 1).Value = ""
                End If
            Application.EnableEvents = True
        End If
    End Sub
    Dans un module :
    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
    20
    21
    22
    23
    24
    Option Explicit
     
    Sub DemarrerAlerte()
        Feuil1.Range("C1").Value = 1
        Call ChangeAlerte
    End Sub
     
    Sub ArreterAlerte()
        Feuil1.Range("C1").Value = 0
    End Sub
     
    Sub ChangeAlerte()
        Application.EnableEvents = True
        If Feuil1.Range("C1").Value = 1 Then
            If Feuil1.Range("D1").Value = 0 Then
                Feuil1.Range("D1").Value = 1
            Else
                Feuil1.Range("D1").Value = 0
            End If
            Application.OnTime Now + TimeValue("00:00:02"), "ChangeAlerte"
        Else
            Feuil1.Range("D1").Value = 0
        End If
    End Sub
    Ajouter un bouton sur la feuille pour lancer DemarrerAlerte
    et un autre pour ArreterAlerte.

    ++
    Minick

  8. #8
    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
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour Toutes et tous,
    Un petit exemple.. alerte active après temps X sur tout les clients séparémént, pour que tu puisse tester efficassement j'ai mis le délais à 10 secondes, après tu peu changer la constante Delais dans le haut du module feuille 1
    La macros s'arrète si ont change de feuille et redémarre quand ont revient sur la feuille 1.
    A+
    Edit,
    Bonjour Leti
    Trouve-tu que c'est une "usine à gaz" ?
    Fichiers attachés Fichiers attachés

  9. #9
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Merci pour vos réponses,
    J'ai testé l'exemple de LeForestier et il y a l'exemple de Antoniom qui m'a un peut inspiré sauf que je voudrais améliorer quelques trucs:
    a l'ouverture du fichier vous allez constater que les cellules: "C6" , "C9" et "C11" sont "En cours" mais elles ne clignotent pas mais l'heure de début de réparation est affiché donc comment faire pour qu'au moment de l'ouverture du fichier la macro teste et remette les "En cours" a clignoter et comment faire pour afficher l'heure de fin dans la colonne E lorsque le statut est changé sur "Fait" cela me permet de calculer le temps de réparation

    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  10. #10
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Bonjour tlm,
    j'ai appliqué l'exemple de LeForestier et la je coince sur un truc, dans la colonne G si le statut est (In progress, WCA) la cellule se met a clignoter après que la tache dépasse les délais colonne J, et si le statut est (ready,dellivered) la cellule devient verte et s'arrête de clignoter

    voici dans le fichier joint le résultat de mon labeur

    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  11. #11
    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
    Points : 2 416
    Points
    2 416
    Par défaut
    Re,
    Tu avais des erreurs dans le placement des End If.
    La colonne DELAY doit être formatée hh:mm:ss
    NB: Le code que j'ai fait ne peut compter qu'en heure et pas en jour.
    Pour que ça se remette à jour il faut dans ThisWorkbook_Open tester la colonne.
    A+

  12. #12
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    merci LeForestier,
    Le probleme persiste car lorsque une cellule est au statut in progress et que je change a delivered elle continue a clignoter en rouge or qu'elle devrait etre en vert
    Merci

  13. #13
    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
    Points : 2 416
    Points
    2 416
    Par défaut
    Beh oui, mais tu a changer la donne et tu ne disais pas le probllème
    A+
    Fichiers attachés Fichiers attachés

  14. #14
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Merci LeForestier,
    ca marche

    j'ai deux petites questions stp

    je nai pas pu dechifrer le code ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                ReDim Preserve Ti(2, Tx)
                UserForm1.Show
                Ti(0, Tx) = Target.Row
                Ti(2, Tx) = 1
    pourquoi tu as rajouté le module contenant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public Ti()
    Public Tx As Integer
    Merci beaucoup

  15. #15
    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
    Points : 2 416
    Points
    2 416
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReDim Preserve Ti(2, Tx)
    Redim... Redimentionnement du tableau suivant le nombre de clienr à traiter.
    Preserve... Garde les données déjà en mémoire alors que Redim tout cour vide le tableau.

    Le module ajouter pour permettre que le tableau Ti sois visible dans l'Userform.
    A+
    PS: Si le topic est terminer oublie pas le ..

  16. #16
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 335
    Points : 148
    Points
    148
    Par défaut
    Merci

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

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, 19h09
  2. Faire clignoter une cellule
    Par JP.NUAGE dans le forum Débuter
    Réponses: 4
    Dernier message: 10/07/2008, 22h18
  3. faire clignoter une cellule
    Par laurent1803 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/10/2007, 11h57
  4. faire clignoter une cellule d'une gridview
    Par guigui11 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/09/2007, 10h44
  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, 23h50

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