Couleur de cellules dans EXCEL10

Résolu

Bonjour,

Dans un dossier EXCEL j' ai en colonne A des cellules avec un fonds vert (4), je voudrais que les mêmes lignes des colonnes K,L,M, aient le même fonds vert.

Je n' arrive pas à résoudre ce problème en VBA

Merci pour l' aide.

Cdt,

JB22

12 réponses

  1. Bonjour,

    comment sont colorisé les cellules de la colonne A, avec une macro , manuellement ou avec une mise en forme conditionnelle, dans ce cas quel est la formule utilisée


    0
    1. Bonjour,

      Ls cellules sont colorées par la macro suivante :

      Range("A14:M163").Interior.ColorIndex = xlNone

      For H = 14 To 163
      For A = 14 To 163
      If Cells(H, 8) = Cells(A, 1) And IsNumeric(Cells(A, 1)) Then Cells(A, 1).Interior.ColorIndex = 8
      Next
      Next
       

      Cdt

      JB22

      0
      1. Bonjour 

        il faut remplacer la ligne

        If Cells(H, 8) = Cells(A, 1) And IsNumeric(Cells(A, 1)) Then Cells(A, 1).Interior.ColorIndex = 8

        par 

        If Cells(H, 8) = Cells(A, 1) And IsNumeric(Cells(A, 1)) Then 
            Cells(A, 1).Interior.ColorIndex = 8
            Cells(A, 11).Interior.ColorIndex = 8
            Cells(A, 12).Interior.ColorIndex = 8
            Cells(A, 13).Interior.ColorIndex = 8
        end if
        0
    2. Re,

      ou encore comme cela, avec en tête une gestion d'erreur pour éviter le plantage d'Excel

      On Error Resume Next
      Range("A14:M163").Interior.ColorIndex = xlNone
      For H = 14 To 163
      For A = 14 To 163
      If Cells(H, 8) = Cells(A, 1) And IsNumeric(Cells(A, 1)) Then Union(Cells(A, 1), Cells(A, 11), Cells(A, 12), Cells(A, 13)).Interior.ColorIndex = 8
      Next
      Next


      0
      1. Bonjour

        J' ai fait un copier-coller de votre macro;

        hélas cela ne fonctionne pas !

        Cdt,

        JB22

        0
        1. Re,

          de quel code parles tu, celui de Fabien ou le mien


          0
          1. J' ai essayé les deux sans succès:

            Cdt,

            JB22

            0
            1. Re,

              Bizarre, regarde le fichier exemple voir

              https://www.cjoint.com/c/LGjmJ30RyNF


              0
              1. à vrai dire je ne comprend pas trop les 2 boucles car elle comparent des lignes différentes dès le deuxième tour de boucle.. 

                de plus IsNumeric(Cells(A, 1)) renvoie VRAI avec les cellules vides (?!)

                0
            2. le code ci dessous me semble mieux correspondre à ce que j'ai compris de la demande mais soulève une interrogation : ça fonctionnait comme tu le voulais avant? 

              Private Sub CommandButton1_Click()
              On Error Resume Next
              Range("A14:M163").Interior.ColorIndex = xlNone
              'For H = 14 To 163
              For A = 14 To 163
              If Cells(A, 8) = Cells(A, 1) And IsNumeric(Cells(A, 1)) And Cells(A, 1) <> "" Then Union(Cells(A, 1), Cells(A, 11), Cells(A, 12), Cells(A, 13)).Interior.ColorIndex = 8
              Next
              'Next
              End Sub
              

              0
              1. Bonsoir,

                Cela ne fonctionne pas.

                J' ai créé une feuille de votes dans laquelle j' enregistre les votants ayant des pouvoirs, la cellule de la colonne A de ces votants ayant des pouvoirs sont en fonds vert, j'  aimerai que les cellules des colonnes G; H, I, soient également en vert;

                Comment faire ?

                Cdt,

                JB22

                0
                1. Cela ne fonctionne pas.

                  C'est à dire ?? ça fait 2 fois que tu nous dis ça mais on ne sait pas en quoi "ça ne fonctionne pas"...

                  ça bug? ça fait le contraire de ce que tu attends? ça ne fait rien?

                  tu n'as pas répondu à ma question : le code que tu nous a partagé au poste 2 fonctionnait il comme tu l'attendais sur la colonne A?

                  il va falloir que tu nous partage un classeur excel exemple sans données confidentielles avec le resultat que tu attends via cjoint par exemple parce que là je ne saurai pas t'aider d'avantage sans plus de détails

                  0
              2. Re,

                Si on rapprend ton code qui d'après toi fonctionne ?

                Range("A14:M163").Interior.ColorIndex = xlNone

                For H = 14 To 163
                For A = 14 To 163
                If Cells(H, 8) = Cells(A, 1) And IsNumeric(Cells(A, 1)) Then Cells(A, 1).Interior.ColorIndex = 8
                Next
                Next

                tu demandes initialement de coloriser les cellules colonne K, L et M comme les cellules colonne A coloriser par ton code, mais qui apparemment sur ton post 11 deviendrait G, H, I déjà il faudrait être plus précis, c'est K, L et M ou G, H, I.

                Fabien a à juste titre relevé une double boucle inutile qui ne doublait que la première, mais à par cela le code

                 
                 Cells(A, 1).Interior.ColorIndex = 8
                 Cells(A, 11).Interior.ColorIndex = 8
                 Cells(A, 12).Interior.ColorIndex = 8
                 Cells(A, 13).Interior.ColorIndex = 8

                ou plus technique

                If Cells(A, 8) = Cells(A, 1) And IsNumeric(Cells(A, 1)) Then Union(Cells(A, 1), Cells(A, 11), Cells(A, 12), Cells(A, 13)).Interior.ColorIndex = 8

                soit le code complet,

                Private Sub CommandButton1_Click()
                On Error Resume Next
                Range("A14:M163").Interior.ColorIndex = xlNone
                For A = 14 To 163
                If Cells(A, 8) = Cells(A, 1) And IsNumeric(Cells(A, 1)) Then Union(Cells(A, 1), Cells(A, 11), Cells(A, 12), Cells(A, 13)).Interior.ColorIndex = 8
                Next
                End Sub

                fait exactement la même chose et répond a ta demande initiale ou détaille tes attentes parce que Cela ne fonctionne pas n'apporte aucune avancée et ne permet pas de proposer un code adapté.

                Es ce que le fichier que j'ai joint post 8 fonctionne comme tu veux ?


                0
                1. Bonsoir,

                  Je remercie,Mike3 et fabien2500 de leur intérêt à mon sujet;

                  J' ai trouvé la raison du disfonctionnement, il n' a rien à voir avec le fonctionnement des macros mais dans l'ordre d" exécution; la sous classe (mandants) avant la classe (Votants).

                  Encore merci, 

                  JB22

                  Je n' ai aucun mérite a être vieux (Si Dieu le veut) mais j' assume;

                  0
                  1. Re,

                    Alors je passe le statut de la discussion en résolu.


                    0