L'informatique à votre portée
L'informatique prêt-à-porter

Faites appel à moi pour vos formations
sur les dpts 81, 31, 82, 11 et 67 (Strasbourg)
Confiez moi vos développements Office

FacebookTwitterGoogle BookmarksLinkedin

Ligne alternée sur une plage de cellule

Imprimer E-mail
5 mars 2014
' Obligation de mettre la couleur de fond sur la 1ère cellule de la 1ère ligne et de la 2ème ligne
' ensuite sélectionner la plage à colorer
Sub LigneAlterne()
Dim lNoLigne As Long Dim iColor1 As Integer, iColor2 As Integer, iColmin As Integer, iColmax As Integer
Dim rCel As Range
    Set rCel = Selection
'le n° de la 1ère ligne de la sélection
lNoLigne = rCel.Row
'le n° de la 1ère colonne de la sélection
iColmin = rCel.Column
'le n° de la dernière colonne de la sélection = 1ère + Nb de colonnes -1
iColmax = rCel.Columns.Count + iColmin - 1 'index de la couleur de fond de la 1ère cellule de la 1ère ligne
iColor1 = Cells(lNoLigne, iColmin).Interior.ColorIndex
'index de la couleur de fond de la 1ère cellule de la 2ème ligne
iColor2 = Cells(lNoLigne + 1, iColmin).Interior.ColorIndex
'pour chaque paire de lignes de la sélection, la dernière est la 1ère + Nb de lignes -1
For lNoLigne = lNoLigne To lNoLigne + rCel.Rows.Count - 1 Step 2
'coloration de la 1ère ligne de la paire
Range(Cells(lNoLigne, iColmin), Cells(lNoLigne, iColmax)).Interior.ColorIndex = iColor1
'coloration de la 2ème ligne de la paire
Range(Cells(lNoLigne + 1, iColmin), Cells(lNoLigne + 1, iColmax)).Interior.ColorIndex = iColor2
Next
End Sub