Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 de mettre une couleur sur chaque mot commencant par a ou b ou c

target

XLDnaute Nouveau
Bonjour
je voudrais savoir si il y a un moyen de mettre une couleur a la police des mots commençant par la meme premiere lettre dans une listview.
ex tous les mots commençants par A en rouge (ou autre), les mot commençant par B en vert (ou autre).
pour le moment sur internet je ne trouve pas de code pour cela, et comme je suis débutant, j'essaye d'accommoder les codes que je trouve,
mais là je ne trouve rien (pour l'instant), je demande votre aide pour essayer de résoudre ce probléme ( mais je continue mes recherches sur le net)
merci d'avance pour vos réponse
Cordialement
 

Pièces jointes

  • test4.xlsm
    58.8 KB · Affichages: 12
Solution
salut
VB:
'*********************************
'PROCEDURE POUR ALIMER LISTE VIEW
'*********************************
Sub AlimentrLv()
'DECLARATION DE VARIABLE
    Dim f As Worksheet
    Dim Lr As Long
    Dim ligne As Integer
    Dim c As Variant

    Set f = ThisWorkbook.Sheets("Base")

    With Me.ListView1
        .ListItems.Clear    'vide la listview de ces donnees
        With .ColumnHeaders    'ce sont les en tete de colonne
            .Clear    'Vide les entete
            'AJOUT DES EN TETE
            .Add , , "Nom", 157    ', lvwColumnCenter 'lvwColumnCenter centre le code
            .Add , , "Utilisateur", 0
            .Add , , "Mot de Passe", 0
            .Add , , "Question 1", 0
            .Add , , "Reponse 1", 0...

patricktoulon

XLDnaute Barbatruc
salut
VB:
'*********************************
'PROCEDURE POUR ALIMER LISTE VIEW
'*********************************
Sub AlimentrLv()
'DECLARATION DE VARIABLE
    Dim f As Worksheet
    Dim Lr As Long
    Dim ligne As Integer
    Dim c As Variant

    Set f = ThisWorkbook.Sheets("Base")

    With Me.ListView1
        .ListItems.Clear    'vide la listview de ces donnees
        With .ColumnHeaders    'ce sont les en tete de colonne
            .Clear    'Vide les entete
            'AJOUT DES EN TETE
            .Add , , "Nom", 157    ', lvwColumnCenter 'lvwColumnCenter centre le code
            .Add , , "Utilisateur", 0
            .Add , , "Mot de Passe", 0
            .Add , , "Question 1", 0
            .Add , , "Reponse 1", 0
            .Add , , "Question 2", 0
            .Add , , "Reponse 2", 0
            .Add , , "Question 3", 0
            .Add , , "Reponse 3", 0
            .Add , , "Question 4", 0
            .Add , , "Reponse 4", 0
            .Add , , "Question 5", 0
            .Add , , "Reponse 5", 0
            .Add , , "test", 0    'RAJOUTER POUR TEST
        End With
        .View = lvwReport    'Type de raport
        .Gridlines = True    'ajoute un cadriage
        .FullRowSelect = True    'pour pouvoir selectionner une ligne a la souris

        Lr = f.Range("A" & Rows.Count).End(xlUp).Row    'pour remonter la colonne B
        If Lr = 2 Then Exit Sub    'si la derniere ligne et l'en tete on sort du programme

        '***************************
        'ALIMANTATION DE LA LISTVIEW
        '***************************
        ligne = 1    'ligne est une variable

        For Each c In Range("A3:A" & Lr)
            .ListItems.Add , , c
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 1)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 2)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 3)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 3)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 5)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 6)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 7)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 8)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 9)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 10)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 11)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 12)
            .ListItems(ligne).ListSubItems.Add , , c.Offset(, 13)    'RAJOUTER POUR TEST

            Select Case Left(c, 1)
            Case "a", "A": .ListItems(ligne).ForeColor = vbRed
            Case "b", "B": .ListItems(ligne).ForeColor = vbGreen
            Case "c", "C": .ListItems(ligne).ForeColor = vbBlue
            End Select

            ligne = ligne + 1
        Next c
    End With

    'DETRUIRE POUR LIBERER MEMOIRE
    Set f = Nothing

End Sub
 

target

XLDnaute Nouveau
Bonjour patricktoulon
cela marche trés bien maintenant je vais essayé de le modifier pour les lettres de d à z
Encore merci d'avoir pris le temps de vous penchez sur mon probléme
Cordialement
 
Dernière édition:

target

XLDnaute Nouveau
Bonjour,
jai remplacer
VB:
Case "a", "A": .ListItems(ligne).ForeColor = vbred
par
Code:
Case "a", "A": .ListItems(ligne).ForeColor = RGB(252, 106, 106)

Pour pouvoir choisir plus de couleur
encore merci
Cordialement
 

Discussions similaires

Réponses
2
Affichages
453
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…