Couleur de cellules dans EXCEL10

Résolu/Fermé
JB22 - 9 juil. 2022 à 11:34
Mike-31 Messages postés 18379 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 mars 2025 - 10 juil. 2022 à 20:34

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

A voir également:

12 réponses

Mike-31 Messages postés 18379 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 mars 2025 5 125
9 juil. 2022 à 11:42

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

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
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
9 juil. 2022 à 12:00

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
Mike-31 Messages postés 18379 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 mars 2025 5 125
Modifié le 9 juil. 2022 à 14:08

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
Bonjour

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

hélas cela ne fonctionne pas !

Cdt,

JB22

0

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

Posez votre question
Mike-31 Messages postés 18379 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 mars 2025 5 125
9 juil. 2022 à 14:10

Re,

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


0

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

Cdt,

JB22

0
Mike-31 Messages postés 18379 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 mars 2025 5 125
9 juil. 2022 à 14:36

Re,

Bizarre, regarde le fichier exemple voir

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


0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
Modifié le 9 juil. 2022 à 15:43

à 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
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
9 juil. 2022 à 15:36

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

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
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
Modifié le 9 juil. 2022 à 17:58

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
Mike-31 Messages postés 18379 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 mars 2025 5 125
Modifié le 9 juil. 2022 à 19:29

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

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
Mike-31 Messages postés 18379 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 mars 2025 5 125
10 juil. 2022 à 20:34

Re,

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


0