[VBA] modifier couleur

  • Initiateur de la discussion Initiateur de la discussion swan
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

swan

XLDnaute Junior
Bonjour,

je voudrais utiliser une macro qui change la couleur de fond d'une plage de cellules
à partir de la 2e ligne jusqu'à la dernière ligne non vide des colonnes A à J.

J'ai utilisé l'enregistreur de macro et collé le code dans une boucle:

Sub test()
For n = 2 To Range("A65536").End(xlUp).Row
With Selection.Interior
.ColorIndex = 35
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Next n
End Sub

... mais évidemment c'est pas le bon code que je cherche.

que faut-il mettre à la place de "Selection" (qui me change la couleur uniquement des plages sélectionnées)
pour que la boucle marche?
 
Re : [VBA] modifier couleur

Bonjour Swan, bonjour le forum,

Essaie comme ça :
Code:
Sub test()
Dim n As Long
n = Range("A65536").End(xlUp).Row 'ou n = Range("J65536").End(xlUp)
With Range("A2:J" & n).Interior
.ColorIndex = 35
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End Sub
 
Re : [VBA] modifier couleur

bonjour Swan,

Avec ceci:
Code:
Sub test()
    Dim n As Integer, cpt As Integer
    cpt = Range("A65536").End(xlUp).Row
    For n = 2 To cpt
        With Cells(n, 1).Interior
            .ColorIndex = 35
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
        End With
    Next n
End Sub

Où n est le numéro de ligne (variable) et i le numéro de colonne.
cpt est une variable qui contient le nombre de lignes à modifier, evite à VBA d'avoir à recalculer ce nombre à chaque passage de boucle For

A bientôt

Désolé: je n'avais pas vu le besoin sur les colonne A à J
 
Dernière modification par un modérateur:
Re : [VBA] modifier couleur

Bonjour à tous


Une autre solution

Code:
Sub test()
Range(Cells(2, "A"), _
Cells(Columns("A:J").SpecialCells(xlCellTypeConstants, _
23).Areas(2).Rows.Count + 1, "J")).Interior.ColorIndex = 35
End Sub
EDITION: houps désolé pour la collision michel_m (bonjour )
 
Re : [VBA] modifier couleur

Bonsoir Michel m,

La Solution que tu proposes est plus rapide et élégante. Encore faudrait-il que je ne sois pas aveuglé par ce que propose le demandeur....

Merci à toi
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
366
Réponses
0
Affichages
367
Réponses
5
Affichages
379
Réponses
2
Affichages
370
Réponses
5
Affichages
464
Réponses
2
Affichages
361
Réponses
3
Affichages
517
Réponses
2
Affichages
410
Retour