Lire les valeurs de Listbox et colorer la police de cel a coté

Abdellah -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai une listbox qui récupère les valeurs du range("C2 : C28").
une fois les valeurs selectionnées dans le Listbox, je voudrais colorer la police des cellules de la colonnes B ( offset (,-1)) correspondante.
mon code ne génere aucune erreur mais y a un truc qui cloche car rien ne s'execute.
merci beaucoup pour votre aide.


Dim I As Integer, y As Integer
Dim r As Range


With Me.ListBox1
For I = 0 To .ListCount - 1

If .Selected(I) = True Then
For Each r In Range("C2 : C28")
If r.Value = .List(I) Then
r.Offset(0, -1).Font.ColorIndex = 3
End If
Next r
End If

Next I
End With
A voir également:

3 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Mettre le nom de votre feuille excel a la place de feuil1

Dim I As Integer, y As Integer
Dim r As Range, of7_lig As Byte

'ligne de depart-1
of7_lig = 1

With Me.ListBox1
    For I = 0 To .ListCount - 1
        If .Selected(I) = True Then
            For Each r In Worksheets("feuil1").Range("C1:C8")
                If r.Value = .List(I) Then
                    Worksheets("feuil1").Range("C" & r.Row + of7_lig).Offset(, -1).Font.ColorIndex = 3
                End If
            Next r
        End If
    Next I
End With
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

essaies cette instruction pour récupérer la valeur de la ligne sélectionnée

ListBox1.List(ListBox1.ListIndex)

0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour michel_m,

La recuperation de la ligne selectionnee est peut-etre discutable, mais c'est cette ligne qui pose probleme:

r.Offset(0, -1).Font.ColorIndex = 3

modifier les couleurs de r, pas de probleme, mais avec un offset: marche pas ????
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Ai trouve, avais fait essais hier, mais marchais pas !!!!!!

Dim I As Integer, y As Integer
Dim r As Range, of7_lig As Byte

With Me.ListBox1
    For I = 0 To .ListCount - 1
        If .Selected(I) = True Then
            For Each r In Worksheets("feuil1").Range("C1:C8")
                If r.Value = .List(I) Then
                    r.Offset(, -1).Font.ColorIndex = 3
                End If
            Next r
        End If
    Next I
End With
0