COLORER UNE LIGNE SUR DEUX D'UNE MSFLEXGRID

shervy Messages postés 62 Date d'inscription lundi 24 décembre 2001 Statut Membre Dernière intervention 15 octobre 2007 - 16 janv. 2002 à 13:07
phpamateur Messages postés 18 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 12 janvier 2010 - 19 nov. 2009 à 11:13
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

phpamateur Messages postés 18 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 12 janvier 2010
19 nov. 2009 à 11:13
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
phpamateur Messages postés 18 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 12 janvier 2010
19 nov. 2009 à 11:09
Merci pour ce bout de code.
shervy Messages postés 62 Date d'inscription lundi 24 décembre 2001 Statut Membre Dernière intervention 15 octobre 2007
16 janv. 2002 à 13:07
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.
Rejoignez-nous