colorer 1 ligne sur 2 jusqu' à la colonne x

andrekn13

XLDnaute Occasionnel
Bonjour
j' ai une macro que je voudrais modifier car elle colore 1 ligne sur 2 MAIS SUR TOUTE SA LONGUEUR
la voici:
For M = Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -2
Rows(M).Select
With Selection.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Next M
En essayant de changer le " , 2)" par une variable j'ai une erreur . et me suis "perdu" sur les recherches sur le forum, car avec range j'ai le même problème de trouver la bonne syntaxe
Merci de votre aide
 

DoubleZero

XLDnaute Barbatruc
Re : colorer 1 ligne sur 2 jusqu' à la colonne x

Bonjour, andrekn13, le Forum,

Peut-être ainsi :

Code:
Option Explicit
Sub Une_ligne_sur_deux_colorer()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, "a").End(xlUp).Row To 2 Step -2
'Resize(,7) : à adapter au nombre de colonnes
Range("a" & i).Resize(, 7).Interior.ColorIndex = 34
Next i
Application.ScreenUpdating = True
End Sub

A bientôt :)
 

Misange

XLDnaute Barbatruc
Re : colorer 1 ligne sur 2 jusqu' à la colonne x

Bonjour, salut petite ânesse :)

Pourquoi utiliser une macro pour colorier une ligne sur deux quand la fonctionnalité tableau fait ça parfaitement :) (onglet accueil/style/mettre sous forme de tableau).
 

andrekn13

XLDnaute Occasionnel
Re : colorer 1 ligne sur 2 jusqu' à la colonne x

Bonjour doubleZero
je me réveil, d'une nuit assez courte
et ma surprise c'est qu'un XLDnaute me réponde !
et en plus le code d'une clarté et efficacité à me surprendre !!!!
j'en ai parcouru, cette nuit des codes et rien ne me plaisait

un grand merci
 

Efgé

XLDnaute Barbatruc
Re : colorer 1 ligne sur 2 jusqu' à la colonne x

Bonjour andrekn13, Misange, 00 :)
Surtout pour saluer oo :)
Sur un grand nombre de lignes :
VB:
Sub Une_ligne_sur_deux_colorer_2()

Const LstCol As Integer = 7 ' Dernière colonne
Dim i As Long, Plg As Range

Set Plg = Range(Cells(2, 1), Cells(2, LstCol))

For i = 4 To Cells(Rows.Count, "a").End(xlUp).Row Step 2
    Set Plg = Union(Plg, Range(Cells(i, 1), Cells(i, LstCol)))
Next i

Plg.Interior.ColorIndex = 34
End Sub

Cordialement
 

Discussions similaires

Réponses
2
Affichages
655

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG