Couleur de cellules dans EXCEL10

Résolu
JB22 -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -

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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    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
  2. JB22
     

    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. fabien25000 Messages postés 697 Statut Membre 59
       

      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
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    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
  4. JB22
     
    Bonjour

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

    hélas cela ne fonctionne pas !

    Cdt,

    JB22

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    Re,

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


    0
  7. JB22
     

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

    Cdt,

    JB22

    0
  8. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    Re,

    Bizarre, regarde le fichier exemple voir

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


    0
    1. fabien25000 Messages postés 697 Statut Membre 59
       

      à 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
  9. fabien25000 Messages postés 697 Statut Membre 59
     

    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
  10. JB22
     

    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. fabien25000 Messages postés 697 Statut Membre 59
       

      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
  11. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    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
  12. JB22
     

    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
  13. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    Re,

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


    0