Clignotement d'une cellule selon le mois en cours

Bonsoir,

Le problème est bien plus complexe que le tire ne le suggère donc je met le fichier (simplifié a l'extrême).

Enfaite, j' ai réussi à programmer une maccro qui permet de faire clignoter une cellule en l'occurrence B3. Par contre c' est les conditions que je n'arrive pas à faire. Le but est de contrôler que les données inscrite dans la colonne "fichier forfait" correspondes bien a ce qu'il y a dans la colonne "tableau de bord", pour cela il faut faire clignoter la cellule B3, selon les 3 conditions suivantes que je n'arrive pas à programmée de façon fiable:

1) La première condition c'est que le check de B3 clignote seulement si il n'est pas compris entre -0,5 et 0,5

2) Une autre condition c'est que cette maccro doit s'appliquer seulement sur l'onglet du mois en cours

(donc ni sur les autres mois, ni sur l'onglet total)

Et c'est la que ça deviens bien chaud, je sais pas si c'est possible :

3) Enfin la maccro doit s'appliquer à l'ouverture du classeur,ça c'est ok en en la mettant dans this workbook et en utilisant workbook open.

Par contre il faudrait qu' elle s'applique également à la fermeture du classeur, et pas pendant la saisie des forfaits en colonne B car c'est normal qu'il y ait un écart pendant cette phase de saisie.

Il faudrait donc que la maccro s'active à la fermeture (lors du clic sur la croix) en bloquant la fermeture pour activer la case B3 du mois en cours (qui sera donc en train de clignoter) et ainsi montrer qu'il y a un écart.

Cependant il faudrait aussi que le classeur puisse se fermer normalement à la deuxième tentative de fermeture, et cela, même si il reste encore un écart.

Voilà merci beaucoup de votre aide, je pourrais vous apportez plus d'infos demain, car j'ai oublié mon fichier au travail et la maccro que j'ai commencé à faire.

54classeur-vba.xlsx (13.65 Ko)

Hello Sonata Arctica,

où est le code VBA que tu as écrit? Pour ma part il n'y a aucun code nul part, et aucun clignotement...

Salut d3d9x , merci pour ton intérêt sur le sujet,

Effectivement il n'y a pas encore ma maccro dans le classeur je précise que je reposterai le fichier demain car j'ai oublié mon classeur au boulot et que l' a je l'ai juste fait de tête. C' était au cas ou quelqu'un aurai eu des idées, mais effectivement se sera plus "simple" avec le code que j'ai commencé a faire.

RDV demain donc

Bonjour,

à adapter à ton classeur :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Static b_tentative As Boolean
    With Sheets(Format(Date, "mm-yyyy"))
        If b_tentative Then
            If Abs(.[B3]) > 0.5 Then
                .Select
                If MsgBox("B3 toujours > 0.5, confirmez-vous ?", vbYesNo + vbQuestion, "Confirmation") = vbNo Then Cancel = True
            End If
        Else
            Cancel = True
            b_tentative = True
            .Select
            .[B3].Select
            MsgBox ("B3 > 0.5")
        End If
    End With
End Sub

eric

52classeur8.xlsm (14.67 Ko)

Salut à tous, je vous mets le classeur avec ma maccro, du coup c’est les cellules E3 :E4 qui doivent clignoter

Eriiic, merci pour ta réponse

Elle ma bien aider pour mon problème numéro 1. Bonne idée de mettre la cellule en valeur absolu je n’y avais pas pensé, j’ai donc adapté ta maccro à mon classeur pour ce point. Premier point c’est OK

Cependant, pour la solution 2, mes onglets ne sont pas juste un nom de date, il y a « Régie totale » écrit devant, du coup ça bug. Peut être adapté ta maccro avec une fonction right ?

Concernant la solution pour le problème 3, j’avais aussi pensé à utiliser des msgbox, mais si on pouvait éviter ce serait mieux, du coup j’ais pas encore intégré cette partie au cas où il y aurait des idées sans msgbox.

4) Nouveau problème, pour la route ! En ouvrant le classeur vous verrez la cellule clignote, mais si on active une autre feuille et qu’on attend un peu, la maccro saute, du coup quand on revient sur la feuille de mars il n’y a plus de clignotement et ça fait sauter le format de cellule.

Voilà, merci à tous pour votre aide!

54classeur-forum.xlsm (207.20 Ko)

Re,

il y a autre problème c'est que les noms de mes onglets ne contiennent que les 4 premières lettres du mois (ça je peux pas le changer c'est une volonté des opérationnels), donc ça aussi sa met le bordel. Du coup tout ça devient bien complexe pour faire clignoter une simple cellule!!!

Je vais chercher un moyen plus simple, et sinon j'accepterai ta réponse Eriiic

Bonsoir,

Au passage, toute petite contribution pour construire le nom de la feuille :

    Dim ws$
    ws = "Régie totale " & Left(Format(Date, "mmmm"), 4) & "-" _
     & Format(Right(Year(Date), 2), "00")

Cordialement.

Salut MFerrand,

je te remercie pour ta maccro, cependant je l'avais déjà programmée un peut différemment. (j'ai retiré pas mal de maccro du classeur pour simplifier). Je crois quand même que la tienne est mieux car elle met a jour l'année automatiquement alors que la mienne reprend un calendrier, et tout cas ça pourra me servir pour d'autres fichier éventuellement.

Merci bien !!

Ce n'était qu'une ligne de code...

Bonne continuation (Déjà pas mal de monde sur ce fil, il me semble)

Bonjour,

Eriiic, merci pour ta réponse

Elle ma bien aider pour mon problème numéro 1.

Heuuu, c'était plus une piste pour l'action à la fermeture du classeur mais bon, tu en as tiré ce qui t'intéressait.

Comme dit MFerrand, il y a du monde.

Ce n'est pas un soucis. Par contre on ne sait pas où tu en es ni ce qui te manque.

Un nouveau classeur avec le bilan et les détails nécessaires (par exemple si on avait su le format des noms d'onglet...) serait le bienvenu.

eric

Salut Eriiic,

avant de passer à l'action à la fermeture du classeur, il faudrait régler le problèmes numéros 4.

je n'est rien fait de plus que le dernier classeur que j'ai posté, c'est à dire le "classeur forum". C'est sur ce point 4 que j' ai besoin d'aide pour l'instant, le problème doit venir de ma maccro "clignotant".

Si c'est pas clair merci de m'en faire part, j'essayerai de vous donner des infos plus précises....

Merci par avance!

A ta place j'abandonnerai cette histoire de cellule clignotante.

Ca fait des usines à gaz pour pas grand chose.

Une simple MFC rouge attire autant l'oeil, et en plus tu mets ceinture et bretelles en ajoutant une alerte.

D'autant plus que tu fais ça dans une boucle qui chez moi prend 12% du processeur en permanence, même si la feuille n'est pas active (peut-être lié à ton soucis, à aucun moment tu ne la contrôles, tu utilises E3:E4 de n'importe quelle feuille, tu ne restaure pas quand tu retourne suir la bonne), même en arrière plan alors qu'on n'est pas sensé le voir. Sur un portable moins performant ça pourrait être 40 ou 60%, c'est un coup à vider la batterie pour rien. Si tu y tiens vraiment utilise plutôt un Ontime toutes les secondes.

Je ne suis pas un partisan de ces fioritures inutiles, je n'y participerai donc pas.

eric

Je ne suis pas très éloigné de l'avis d'Eriiic. J'ai déjà eu fait plusieurs fois des clignotants d'alerte sur demande, mais je dois avouer que ça m'a dissuadé dans faire pour mon propre usage.

A l'ouverture du classeur, c'est encore jouable, tu peux d'entrée activer la feuille du mois, vérifier les conditions et lancer l'alerte s'il y a lieu. A la fermeture, à mon avis tu cours des risques de cafouillage...

Autre point, il est impératif que l'utilisateur puisse stopper le clignotement de façon efficace pour commencer à travailler. Il faut un dispositif d'arrêt fiable.

Je n'ai pas pris le temps d'analyser ton dispositif clignotant, mais si Eriiic parle de le ramener à la seconde, j'en déduirais que tu clignotes plus vite. Pour avoir essayé, ça a des ratés à différents moments ; j'ai lu aussi quelque part (je ne sais plu où, désolé) qu'il valait mieux éviter des clignotements à une fréquence plus élevée que la seconde.

En ce qui me concerne, le dispositif que j'ai trouvé le plus stable et le plus simple à arrêter est basée sur une MFC qui alterne 2 couleurs (mais on peut en mettre plus) utilisant la fonction MAINTENANT, et la dispositif de lancement et d'entretien du cligno se borne à lancer le recalcul et se relancer à 1s, jusqu'à ce qu'on l'arrête.

Cordialement.

Bonjour et merci de vos réponses,

Eriiic, sur un point je ne suis pas d’accord avec toi, donc non désolé une MFC conditionnelle ne suffit pas puisqu'il y a encore des gros écarts (genre 500 en gros et en rouge) en fin de mois, c'est ça la réalité de l'entreprise Eriiic.

C'est pour ça qu'on m'a demandé de faire un clignotement. Après je suis d’accord ça fait usine à gaz, mais comme tout fichier de grande entreprise. Surtout que le fichier réel en question contient une cinquantaine d’onglet, des centaines de formule, une vingtaine de maccro ect…

Donc effectivement stop le clignotement, c’est très risqué, pas fiable ! Et en plus ça consomme de l’énergie comme tu le dit Eriiic

Je vais tester la solution de Mferrand, sinon je vais passer par des msgbox comme tu le proposais Eriiic.

Merci les gas!

Rechercher des sujets similaires à "clignotement mois cours"