Couleur d'une cellule active Excel?

Résolu
Bonjour!

J'aurai voulu savoir si il etait possible de changer la couleur d'une cellule active d'Excel.

Je souhaiterai, lorsque je clique sur une cellule quelconque que celle ci se colore en bleu (par exemple), si je clique sur une autre la cellule reprend sa couleur d'origine et la nouvelle se colore, ect....

Est ce que quelqu'un peu m'aider?

Merci a vous!

--
_________________________________________________
www.image-in13.com

18 réponses

Résumé de la discussion

La problématique porte sur la possibilité de changer dynamiquement la couleur de la cellule active dans Excel, afin que celle-ci devienne bleue lors du clic et retrouve sa couleur lors d'une autre sélection. Des solutions proposées reposent majoritairement sur une macro Worksheet_SelectionChange, qui mémorise la couleur précédente, applique la couleur désirée et rétablit l'ancienne couleur lorsque l'utilisateur sélectionne une autre cellule. Plusieurs réponses évoquent des variantes, notamment l'utilisation d'une couleur prédéfinie comme bleu (CodeColorIndex) et des ajustements pour éviter l'accumulation des couleurs, ainsi que des précautions liées à la protection du classeur. D'autres témoignent des problèmes lorsque des cellules colorées existent déjà ou lorsque le fichier est enregistré et rouvrant, mettant en évidence l'impact des états initiaux sur le comportement.

Bobot (l’IA à votre service)
  1. Contributeur
    bonjour

    Pour faire selon ton idée, essaie de copier cette macro dans ton classeur :

    Public old_color, old_sel
    Option Explicit

    Sub Worksheet_SelectionChange(ByVal sel As Range)
    If Not old_sel = "" Then Range(old_sel).Interior.ColorIndex = old_color
    old_sel = sel.Address
    old_color = sel.Interior.ColorIndex
    sel.Interior.ColorIndex = 41
    End Sub


    cela devrait répondre à ta demande.

    8
    1. comment fait-on pour copier cette macro dans le classeur? sous mac??
      0
  2. Plus personne ne peut m'aider.... svp.

    J'aimerai vraiment arriver a faire ca....
    1
    1. Contributeur
      Salut,

      Pour réaliser ce que tu veux, je ne vois pas sans passer par une macro.Ton classeur (ou tous tes classeurs si tu veux que ça s'applique tt le tps) comportera donc une macro.
      Est-ce ce que tu veux (si oui, dis-moi si tu as besoin d'un coup de main pour le code) ?

      A+
      0
      1. Je vais essayer mais je ne m'y connais pas en macro donc je vais surement avoir besoin de votre aide...

        Merci a vous pour vos reponses!

        Je vais tester!
        Désolé pour cette reponse tardive mais la notification par mail n'a pas fonctionné ou j'ai oublié de cocher la case! lol
        0
        1. Effectivement je ne vois pas comment faire.... oupssss

          Si quelqu'un pouvait m'expliquer la procedure ça serait cool!
          Merci.
          0
          1. Il n'y a vraiment personne pour m'aider?????
            0
            1. Contributeur
              salut Franky
              menu outils / macro / visual basic editor
              double clic sur feuil1 et sur la droite de l'écran une fenetre s'ouvre colle le texte indiqué plus haut et enregistre
              quand tu retournes dans ton fichier excel chaque fois que tu sélectionnes une cellule elle se colore en bleu
              -1
          2. Excellent!!!!!

            Merci Beaucoup!

            Un dernier truc si possible, quel est le code pour avoir la cellule rempli en rouge?

            Je vois que 41 est = au bleu mais le rouge????
            0
            1. Aie,

              Apres quelques test je remarque ceci:

              J'ai des cellules deja colorées, lorsque j'en selectionne une, celle ci change bien de couleur et lorsque je la deselectionne elle reprend bien sa couleur de base (verte par exemple).

              Par contre si je fait la meme operation mais cette fois ci en selectionnant une plage de cellules cela m'efface les couleurs de base... et lorsque je deselctionne la plage de cellule devient blanche (enfin fond>couleur automatique)

              Si je veux recolorer cette plage de cellules ou meme une cellule seule cela ne marche pas elle prend la couleur mais des que je deselectionne ça revient en "couleur automatique" (soit blanc)

              Quelqu'un saurait il rectifier le code pour eviter ces problemes?

              0
              1. Hello Franky4Doigts,

                Fais une petite modification dans le code : dans les 2 dernières lignes avant End Sub, remplace "sel" par "ActiveCell", ce qui donne :
                Sub Worksheet_SelectionChange(ByVal sel As Range)
                
                    If Not old_sel = "" Then Range(old_sel).Interior.ColorIndex = old_color
                    old_sel = sel.Address
                    old_color = ActiveCell.Interior.ColorIndex
                    ActiveCell.Interior.ColorIndex = 41
                
                End Sub


                Pour les couleurs :

                ' 3=rouge 4=vert 5=bleu 6=jaune 7=violet
                0
            2. Voici le code que j'ai mis:

              Public old_color, old_sel 
              Option Explicit 
              
              Sub Worksheet_SelectionChange(ByVal sel As Range)
              
                  If Not old_sel = "" Then Range(old_sel).Interior.ColorIndex = old_color
                  old_sel = sel.Address
                  old_color = ActiveCell.Interior.ColorIndex
                  ActiveCell.Interior.ColorIndex = 41
              
              End Sub


              Or les problemes enoncés ci dessus persistent encore.

              A savoir:
              La selection d'un plage de cellules colorées enleve la couleur de la cellule lors de la deselection.
              +
              Impossibilité de remettre de la couleur par la suite.

              Que faire?

              0
              1. Plus de volontaire pour m'aider?
                0
                1. Ok, Franky4Doigts, je commence à voir ton PB. D'après ce que tu disais au départ, il s'agissait d'une cellule.
                  Si je comprends bien, c'est une plage toute entière (éventuellement bigarrée avec plusieurs couleurs) que tu veux restituer dans son état d'origine en désélectionnant.
                  Ça change tout !
                  Donc à+ pour le moment.
                  Armojax.
                  0
                  1. Salut,

                    Oui c'est ça, en fait j'ai des cellules comportant plusieurs couleurs.

                    Les cellules sont liées entre elles (cad quand je clique sur A1 cela me renvoye sur C5 par exemple) or vue qu'elles sont deja colorées lors du renvoye (sur C5 dans mon exemple) il faut chercher la nouvelle cellule selectionnée.
                    Je souhaite donc changer la couleur de la cellule active pour faire voir clairement et rapidement les cellules et par consequent que tout redevienne comme a l'origine apres dans tout les cas (selection d'une cellule ou d'une plage).

                    J'espere que je suis pas trop confu dans mes propos

                    Merci de votre aide!
                    0
                    1. Contributeur
                      bonjour

                      1) comment je peux faire pour que mon tableau m'affiche le total de tva encaissement en vert si il est inferieur au décaissement et en rouge si il est sup

                      Pour faire cela, le plus simple :
                      choisir "le total de tva encaissement" puis le menu format puis mise en forme conditionnelle
                      dans la fenêtre choisir à gauche "la formule est" et à droite on met la formule :
                      =C1<D1
                      avec C1 "le total de tva encaissement" et D1 le décaissement

                      et l'on choisis le vert dans la mise en forme, fond ou couleur de police.
                      il suffit de faire "ajouter" pour mettre en rouge en remplaçant < par >

                      2) d'afficher automatiquement si c'est tva a payer ou credit de tva a reporter au mois suivant et qu il le fasse automatiquement)
                      tu crées une cellule "à payer" avec la formle
                      =SI(C1>D1;C1-D1;0)
                      avec C1 "le total de tva encaissement" et D1 le décaissement

                      puis tu crées une cellule "report" avec la formle
                      =SI(C1<D1;D1-C1;0)


                      3) une macro ca se creer comment et quelle sont les etapes pour mettre les cellules de couleurs
                      automatiquement suivant les resultats calculés dans ce meme tableau

                      Une macro c'est de la programmation et dans ton cas je n'ai pas l'impression que tu en ai la nécessité.
                      0
                      1. je debute dans la déclaration de tva
                        je suis a la recherche d'un tableau, quasi identique au votre
                        Pouvez vous me faire parvenir le modele de tableau?
                        0
                        1. J'ai réussi à colorer mes fenêtres actives mais lorsque j'enregistre mon dossier en fin de journée la cellule active colorée s'enregistre colorée et le lendemain lorsque j'ouvre mon dossier active ou pas cette cellule reste colorée ........à la longue mon tableau sera tout bleu...

                          merci de m'aider

                          Jean
                          0
                          1. Bonsoir,

                            Le code fonctionne très bien,merci a gbinforme mais des que je verrouille certaine cellules et bien j'ai ce message d'erreur,suis sous 2007

                            Erreur d'exécution 1004
                            Erreur définie par l'application ou par l'objet.

                            Si qqu'un peut m'aider svp.
                            0
                            1. Contributeur
                              Bonjour,

                              Dès que tu verrouilles, tu ne peux accéder aux cellules même par macro sauf à déverrouiller en début de code puis reverrouiller en fin :
                              Unprotect "mot_depasse_éventuel"

                              ton code, puis

                              Protect "mot_depasse_éventuel"
                              0
                            2. Bonjour,

                              Je n'ai pas tout compris car suis novices mais ce n'est pas grave,merci quand meme.
                              0
                            3. Contributeur
                              Si tu as pris le code fourni, cela donne :
                              Sub Worksheet_SelectionChange(ByVal sel As Range)
                              If Not old_sel = "" Then
                              Unprotect "mot_depasse_éventuel"
                              Range(old_sel).Interior.ColorIndex = old_color
                              old_sel = sel.Address
                              old_color = sel.Interior.ColorIndex
                              sel.Interior.ColorIndex = 41
                              Protect "mot_depasse_éventuel"
                              End Sub
                              "mot_depasse_éventuel" sera remplacé par ton mot de passe entre guillemets si tu en as un, sinon tu ne mets rien.
                              0
                            4. Alors j'ai essayé avec le premier code du post et cela fonctionne à merveille :

                              Public old_color, old_sel
                              Option Explicit

                              Sub Worksheet_SelectionChange(ByVal sel As Range)
                              Unprotect "mot_depasse_éventuel"
                              If Not old_sel = "" Then Range(old_sel).Interior.ColorIndex = old_color
                              old_sel = sel.Address
                              old_color = sel.Interior.ColorIndex
                              sel.Interior.ColorIndex = 41
                              Protect "mot_depasse_éventuel"
                              End Sub

                              Un grand merci pour ton aide ,par contre quand je fais entrer pour me déplacer de cellule en cellule déverrouiller et bien il ne passe pas sur toutes les cellules ?
                              0
                            5. Enfin si mais il repasse deux fois sur les memes ?
                              0
                          2. je vient de faire un tableau récap pour calcul de tva déclaration ca3

                            tva avril

                            Encaissements

                            date client TTC encaissé facture origine HT Montant TTC retenu Base ht
                            5.5 19.6 5.5 19.6 5.5 19.6
                            20 portal 400 919.73 0 400 0 334.45
                            20 Geoffroy 149.64 125.12 0 149.64 0 125.12
                            20 Meridor 2914.65 1437 0 2914.65 0 2437
                            30 Julien 3294.6 3420 574 2821.11 / 473.49 2674.04/ 395.89
                            30 Rideau 297 247.43 0 297 0 248.33

                            Total 2674.04 3540.79
                            TVA 147.07 693.99
                            Total TVA 841

                            Achat Immobilisations
                            Date Fournisseur TTC facturé TVA facturée

                            total TVA Immobilisation 0

                            Achat de biens et services
                            Date Fournisseur TTC facturé TVA facturée
                            12 quincaillerie moderne 239.2 39.2
                            16 imite ancien 1674.4 274.4
                            22 comptoir 514.88 84.38
                            30 ebene 1065.89 174.68 Total tva B/S 572.66

                            Décaissement fournisseurs
                            date fournisseur TTC facturé TVA facturée TTC décaissée TVA décaissée
                            10 SCI des bureaux 1495 245 1495 245
                            30 Calberson 107.64 17.64 107.64 17.64

                            Total décaissement 262.64
                            Total à déduire B et S 835

                            Crédit tva reporté 1200

                            tva a payer 0
                            credit de tva 119
                            le tableau calcul tous seul si je suis en crédit de tva ou si j ai de la tva a payer maintenant je souhaiterais savoir
                            1) comment je peux faire pour que mon tableau m'affiche le total de tva encaissement en vert si il est inferieur au décaissement et en rouge si il est sup
                            2) d'afficher automatiquement si c'est tva a payer ou credit de tva a reporter au mois suivant et qu il le fasse automatiquement)
                            pour finir 3) une macro ca se creer comment et quelle sont les etapes pour mettre les cellules de couleurs automatiquement suivant les resultats calculés dans ce meme tableau

                            merci pour votre aide c'est ma premiere macro alors plus je lis plus je comprend plus rien

                            a++
                            -1
                            1. pouvez vous m'aider sur le excel je ne comprend rien a ce machin!
                              merci avous
                              -1