Clignotement de cellules

Résolu
bonjour,
j'aimerais faire clignoter une cellule de comptage quand elle change de nombre

20 réponses

  1. Re,

    S'il a exactement la même structure, avec le code actuel l'heure se répercutera automatiquement en B1 sur l'autre onglet
    il suffit de sélectionner la plage exemple =$C$4:$Q$217
    Mise en forme conditionnelle
    et appliquer la même règle que sur l'autre onglet
    =ET(OU(C4="cp";C4="rtt";C4="ca");EST.PAIR(SECONDE($B$1)))
    format choisir la couleur rouge

    par contre il faudra reproduire le bouton ACCEPTER qui utilisera le même code
    et revenir sur la première page pour arrêter le clignotement ou créer un bouton Arrêt
    https://www.cjoint.com/c/KJuhDz1ClvF
    1. Re,

      en regardant le code je viens de m'apercevoir que j'ai laissé trainer une ligne inutile dans le code Chrono, supprime cette ligne

      [B1].Value = [B1] + TimeSerial(0, 0, 1)
  2. le congé 2022 est un autre onglet à côté de congé 2021 basé sur la même chose
    1. Re,

      il faut voir la structure de chaque tableau et s'il se trouvent dans le même classeur
      si non il faut traiter chaque fichier
      1. salut Mike-31
        je reviens vers toi car j'ai aussi un tableau de congé 2022 et je ne vois pas comment 2 bouton pourrais commander chacun un tableau ( le même tableau que " congé 2021")
        1. Re,

          c'est un ToggleButton de la boite formulaire

          1. Super, je te remercie
            Bonne journée
        2. un grand merci.
          si je veux refaire le bouton, ou et comment as tu fait ? stp
          1. Re,

            Récupère ton fichier sur lequel j'ai revu tes formules colonne R
            j'ai également supprimé tes multiples validation qui bloque le nombre de saisie par une seule sur tout le tableau avec cette formule =SOMME($R4)<=3

            Il existe également trois mises en forme conditionnelle pour traiter les CA, les RTT et les RPC qui n'ont aucun format de colorisation donc complètement inutile, A VOIR !

            Pour comprendre le clignotement, j'ai supprimé la formule en B1 qui était =AUJOURDHUI()

            pour la remplacer dans la Thisworkbook par [B1] = Date

            ensuite, lorsque tu lances le clignotement, en fait en cellule B1 j'affiche l'équivalent de MAINTENANT() mais en VBA pour faire défiler l'heure, tu peux formater B1 en hh:mm:ss
            ou jj/mm/aaaa h:mm:ss pour voir défiler les secondes mais après remet le format date.

            A partir de la j'ai sélectionné la plage C4:Q217 et une simple mise en forme conditionnelle avec cette formule
            =ET(OU(C4="cp";C4="rtt";C4="ca");EST.PAIR(SECONDE($B$1)))

            qui colorise la cellule en rouge toute les secondes PAIR donc impair reprend la couleur initiale ce qui donne l'effet clignotant.
            le clignotement est masqué dès que tu valides avec le bouton ACCEPTER puis la couleur est rouge
            J'ai également modifié le code ACCEPTER pour éviter la colorisation des cellules vide
            If Selection = "cp" Or Selection = "rtt" Or Selection = "ca" Then _
                Selection.Interior.ColorIndex = 3

            Et ton fichier ne pèse que 77 KO
            Voilà pas très compliqué
            https://www.cjoint.com/c/KJspURJwlzF

            PS: il est impératif d'arrêter le clignotement avant d'aller naviguer sur un autre classeur
            je passe le statut de la discussion en résolu, mais n'hésite pas d'y revenir si tu souhaites poursuivre.
            1. Re,

              non ce qui bloque le nombre de saisies n'est pas tes mise en formes conditionnelles mais tes validations de données

              Données/Validations des données avec pour la première ligne cette formule
              =ET(SOMME(R$4)<=3)
              qui elle aussi contient une conditionnelle inutile et devrait simplement être =SOMME($R$4)<=3

              l'erreur est que tu as créé une validation dans chaque cellule de chaque ligne alors qu'il suffirait de sélectionner les cellules de la ligne exemple C4:Q4 et écrire la formule en absolue ce qui allégerait le fichier
              =SOMME($R$4)<=3

              et supprime colonne R ce bout de formule inutile +ET(NBVAL(C$15:Q$15)<=3)
              1. UN GRAND MERCI A TOI pour ton travail, ta rapidité et tes explications
                je ne suis pas du tout fort en anglais mais j'essai tout de même de me former doucement
                je met tout ça en place
                merci, merci, merci
            2. Re,

              Non ce bout de formule ET(NBVAL(C$15:Q$15)<=3) ne sert à rien soit il y a moins de 3 valeurs et ce bout de formule te retourne VRAI ou s'il y a plus de 3 valeur ça te retourne FAUX

              Mais le reste de ta formule + VRAI ou +FAUX ne change pas
              si =NB.SI(C4:Q4;"cp")+NB.SI(C4:Q4;"rtt")+NB.SI(C4:Q4;"ca") te retourne par exemple 3 + VRAI sera toujours 3 ou 3+FAUX restera toujours 3 voir provoquer une erreur

              pour le clignotement je m'y emploi
              1. As tu pris connaissance du post ci-dessus !

                télécharge ton fichier, à la première ouverture il est possible qu'Excel te demande d'accepter l'activation des macros.
                clic sur le bouton en haut à gauche Contrôle
                reclic sur le bouton pour arrêter le clignotement

                https://www.cjoint.com/c/KJrlP0HWPLF
              2. D'accord merci pour cette explication donc ce sont mes formes conditionnelle qui fonctionne sur chaque cellules pour ne mettre que 3 personnes en congé et mon comptage reste informatif ?.
            3. non, de ce côté ça fonctionne car quelque soit le congé posé, c'est 3 maximum par jour.

              Et cette ligne n'a pas été faite car elle ne m'a pas servi. LOL

              Regarde sur les lignes en dessous car les nombres de la formule doivent être identiques.
              malheureusement tu as choisi la mauvaise. LOL
              1. Re,

                C'est plus compliqué mais je te regarde ça.
                par contre je suis septique sur tes formules colonne R

                =NB.SI(C4:Q4;"cp")+NB.SI(C4:Q4;"rtt")+NB.SI(C4:Q4;"ca")+ET(NBVAL(C$15:Q$15)<=3)
                quelque soit la cellule jusqu'à la ligne 42 elles font toutes référence à
                ET(NBVAL(C$15:Q$15)<=3)

                ensuite +ET(NBVAL(C$15:Q$15)<=3) n'est pas correctement écrit, quelque soit le nombre de valeur sur la ligne la formule te retourne VRAI ou FAUX ce qui ne peut être additionné
                elle devrait certainement être
                +SI(NBVAL(C$15:Q$15)<=3;NBVAL(C$15:Q$15);0)
                mais quel est le but d'additionner et quoi !
                1. chaque employé peuvent avec un mot de passe sur leur colonne poser un congé.
                  le chef clic sur la case du congé et clic sur accepter et la case ce colore en rouge.
                  le chiffre en case R comptabilise le nombre de congé sur la ligne de cette date.

                  Je voudrais que le chiffre en case R clignote quand une personne pose ou enlève un congé et que quand le chef se connecte à son tour puisse voir le clignotement jusqu'à ce qu'il accepte ou remet la case normalement
                  1. Re,

                    Schématiquement, le principe du clignotement est d'utiliser l'horloger de l'ordinateur, avant d'écrire un code il faut que je comprenne le fonctionnement du fichier.

                    Donc en colonne R est comptabilisé certaines valeurs saisi sur la ligne, pour accepter si je comprends bien, tu pointes sur la cellule et tu clic sur le bouton Accepter
                    mais rien ne se passe si une valeur de 1 ,à 3 est présente, et comment sais tu si la valeur en colonne R est acceptée !

                    ou l'acceptation consiste t'elle à pointer une cellule de la ligne pour la coloriser en rouge !

                    Il faut savoir que les MFC qui colorisent les cellules en fonction de leurs valeurs est prioritaire sur les colorisations manuelles ou temporaires comme le clignotement

                    la solution est de passer par du VBA pour la MFC

                    et créer une colonne acceptation ou explique moi comment tu fonctionnes

                    1. je voudrais que la cellule en R qui compte le nombre de congé posé ce jour passe en clignotant au moindre changement et qu'il s'arrête quand le congé à été accepté sur le bouton "accepter"
                      Si c'est possible
                      1. Re,

                        Non mon fichier n'est pas en lecture seule, il suffit de le télécharger, l'ouvrir et accepter Activer les modifications.
                        enregistrer/Fermer et ouvrir à nouveau.

                        Non tu n'as pas envoyer ton fichier, pour cela
                        1) Aller dans https://www.cjoint.com/
                        2) Cliquer sur [Parcourir] pour sélectionner le fichier (15 Mo maxi)
                        3) Défiler vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
                        4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; faire un clic-droit dessus et choisir "Copier le lien"
                        5) Revenir dans la discussion sur CCM, et dans votre message faire "Coller".

                        1. j'ai essayé d'envoyer mon fichier mais je ne sais pas si c'est bon
                          1. merci pour votre réponse MIKE-31
                            désolé j'apprend depuis peu.
                            le fichier est en lecture seul
                            sinon j'ai créé un planning pour qu'une équipe puis poser des congés et ainsi gérer ce qu'ils posent.
                            voir dans le fichier joint
                            et je voudrais que mes cellules de la colonne R clignote quand une personne retire un congé ou ce rajoute jusqu'à ce que le chef clique sur le bouton accepter pour le congé de la ligne.
                            J'espère avoir été assez clair pour vous