Bonjour,

Mon problème était le suivant : Lors d'un clic sur une ligne je changeais la couleur. Mais à chaque clic celle précédemment cliquée conservait la couleur liée au clic !!
Il fallait donc que je trouve un moyen de remettre 1 ligne sur 2 la couleur initiale de la grille et de mettre une couleur différente sur la ligne cliquée.

Je propose donc la solution suivante que j'ai testée plusieurs fois :
Au chargement de la grille je mets de la couleur une ligne sur 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Sub Les_Couleurs()
    For r = 1 To GrilleCptes.Rows - 1 Step 2
        GrilleCptes.Row = r
        For c = 0 To GrilleCptes.Cols - 1
            GrilleCptes.Col = c
            GrilleCptes.CellBackColor = RGB(224, 255, 255)
        Next c
    Next r
End Sub
j'écris la procédure pour remettre toutes les lignes de la grille à blanc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Sub Lignes_blanc()
    For r = 1 To GrilleCptes.Rows - 1
        GrilleCptes.Row = r
        For c = 0 To GrilleCptes.Cols - 1
            GrilleCptes.Col = c
            GrilleCptes.CellBackColor = RGB(255, 255, 255)
        Next c
    Next r
End Sub
procédure lors d'un clic sur une cellule de la grille
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
Private Sub GrilleCptes_Click()
Dim bquecpte As String
    GrilleCptes.Visible = False 'je cache la grille pour éviter d'apercevoir les procédures des couleurs
    rowclic = GrilleCptes.RowSel 'pour conserver la ligne sélectionnée. Variable déclarée Public
    Lignes_blanc 'pour remettre toutes les lignes à blanc
    Les_Couleurs 'pour mettre de la couleur 1 ligne sur 2
    GrilleCptes.Visible = True 'j'affiche de nouveau la grille
    GrilleCptes.Col = 0 'défini la colonne où est inscrit l'id du compte
    GrilleCptes.Row = rowclic 'replace le curseur sur la ligne sélectionnée
    idCompte = GrilleCptes.Text 'récupère l'id du compte. Variable déclarée Public
    GrilleCptes.Col = 2 'place le curseur sur la colonne 2 pour récupérer la banque
    bquecpte = GrilleCptes.Text 'récupère le nom de la banque
    GrilleCptes.Col = 1 'place le curseur sur la colonne 1 pour récupérer le numéro de compte
    TxtModCpte.Text = GrilleCptes.Text 'écrit le numéro du compte
    c = 1
    For c = 0 To 3
        GrilleCptes.Col = c
        GrilleCptes.CellBackColor = RGB(255, 255, 128) 'change la couleur de la ligne sélectionnée
    Next c
End Sub
Si cela peut servir, alors tant mieux