COLORER UNE LIGNE SUR DEUX D'UNE MSFLEXGRID

Signaler
Messages postés
62
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
15 octobre 2007
-
Messages postés
19
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
12 janvier 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/2432-colorer-une-ligne-sur-deux-d-une-msflexgrid

Messages postés
19
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
12 janvier 2010

Pour ce sauvegarder la position actuelle il y as pas si simple que ça :

Private Sub couleur_lignes()
Dim i, j As Long
Dim tempCol, tempRow As Long

With dgAPI
tempCol = .Col
tempRow = .Row
'Colorer les lignes
If .Rows > 1 Then
For i = 1 To .Rows - 1
'Lignes paires rouge
If (i - 1) Mod 2 <> 0 Then
.Row = i
For j = 1 To .Cols - 1
.Col = j
.CellBackColor = &HFFC0C0
Next
End If
Next
End If
.Col = tempCol
.Row = tempRow
End With

End Sub
Messages postés
19
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
12 janvier 2010

Merci pour ce bout de code.
Messages postés
62
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
15 octobre 2007

La seule chose à ajouter est qu'il faut sauvegarder la position actuelle avant de lancer la routine. Autrement dit, il faut garder en mémoire le .Row et .Col de façon à ce que quand la routine rend la main à l'utilisateur celui ci soit toujours au même endroit (même cellule) et non sur la dernière colonne de la dernière ligne.