Excel- VBA-Comment colorier une zone variable

[Résolu/Fermé]
Signaler
Messages postés
1277
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
28 mars 2021
-
Messages postés
1277
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
28 mars 2021
-
Bonjour,

Je voudrais affecter la même couleur à une zone variable au fur et à mesure qu'elle s'allonge.
Voici ce qui la défini:
Range("B3:E" & Range("A1").Value)
Le contenu de [A1] étant la dernière ligne de la zone.

Quelqu'un peut-il m'écrire un code pour cela SVP, peu importe la couleur ?

Merci

5 réponses


Range("B3:E" & Range("A1").Value).Interior.ColorIndex = 255
Range("B3:E" & Range("A1").Value).Interior.Pattern = xlSolid

La première ligne donne la couleur, la deuxième le type de remplissage.
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
268
autre proposition ....

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim C As Variant

For Each C In Range("B3:E" & Range("A1").Value)
    C.Interior.ColorIndex = 4  'vert clair
Next
End Sub
Messages postés
1277
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
28 mars 2021
51
Merci tout 2,

J'aurais jamais trouvé ça!
J'ai plus dur maintenant:

Mais sauriez-vous mettre des bordures dans la même zone SVP ?
Je repose ma question sur un autre poste afin de clore celui-ci, se sera plus correcte.

Merci encore.
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
268
utilise l'enregistreur de macro pour récupérer le format que tu veux
outils/macros/enregistrer une ...macro1
selectionne ta plage applique le format puis arrête la macro (outils/macro/arreter l'enregistrement)
puis alt F11 (editeur visual basic)
et tu vas trouver un code avec plusieurs
With Selection.Borders(.......)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
......
.....
End With


maintenant tu as le code

tu ecris

Range("B3:E" & Range("A1").Value).select
puis tu écris
with selection....

'recopie ici les différents formats que tu as créé
end with

je ne peux pas te le faire parceque j'ai 2007 et il y a une incompatibilité
Messages postés
1277
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
28 mars 2021
51
Merci Bidouilleu_R, que c'est astucieux !
Je vais essayer de retenir ça!

Merci.