IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Mettre en rouge une ligne dans la listview


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Homme Profil pro
    électricien
    Inscrit en
    Mars 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : électricien

    Informations forums :
    Inscription : Mars 2016
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Mettre en rouge une ligne dans la listview
    Bonjour,

    voila dans ma form d'accueil,j'ai une Listview que je rempli avec une table ACCESS,quand je clik 2 fois sur une ligne une form s'ouvre ou je remplis divers renseignement et à partir de la l'enfant est présent.
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    'Fonction de rafraichissement de la page accueil
    Sub Rafresh(requete As String)
     
    '-- Requete Sql
        Set RS = New ADODB.Recordset
        RS.Open requete, Db
     
        '-- Nettoie la liste
        Frm_Accueil.List.ListItems.Clear
     
        '-- Remplissage de la liste
        If RS.EOF Then
            Frm_Accueil.List.ListItems.add , , "Aucun Enregistrement"
            Exit Sub
        Else
            Do Until RS.EOF
     
                Frm_Accueil.List.ListItems.add , , RS!nomenfant_ctr, , "po1"
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!prenomenfant_ctr
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!pere_ctr
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!mere_ctr
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!age_ctr & " ans"
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!caf_ctr
                Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!Num_ctr
                RS.MoveNext
            Loop
        End If
     
        RS.Close
    End Sub
    j'ai créer une requete dans ACCESS pour récupérer la liste des présents .
    Ma question est comment faire pour mettre en rouge dans la listview d'accueil les enfants qui sont présents

    merci
    cordialement

  2. #2
    Futur Membre du Club
    Homme Profil pro
    électricien
    Inscrit en
    Mars 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : électricien

    Informations forums :
    Inscription : Mars 2016
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    bonjour,
    j'ai mis se code dans le Load de ma Form,mais il met en rouge le dernier Nom de ma liste alors qu'il n'est pas présent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set RS = New ADODB.Recordset
         RS.Open "select * from present_enfant WHERE nomenfant_ctr", Db 
    Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ListSubItems.add , , RS!nomenfant_ctr
    Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ForeColor = vbRed
    si quelqu'un à une idée pour mettre en rouge tous les enfants qui sont présent

    merci

  3. #3
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Dans ton code, tu as mis : Frm_Accueil.List.ListItems(Frm_Accueil.List.ListItems.Count).ForeColor = vbRed.
    C'est normal d'avoir uniquement le dernier élément de la liste qui est mis en rouge à cause de ListItems.Count qui correspond au dernier élément de la liste.

    Alors ma suggestion : Puisqu'en double-cliquant sur un élément de la liste, une feuille s'ouvre pour y mettre des infos, ajoute sur cette feuille une case à cocher(CheckBox) intitulée par exemple Présence dont le nom serait chkPresent.
    Dans la feuille en question, il devrait y avoir une référence quelconque à chaque enfant. Utilise cette référence( et de préférence la clé unique identifiant l'enfant) et dans l'événement chkPresent_Click, mets une condition sur son état par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If chkPresent.Value = vbChecked Then
        frm_Accueil.List.ListItems(Index).ForeColor = vbRed
    Else
        frm_Accueil.List.ListItems(Index).ForeColor = vbBlack
    End If
    avec Index le numéro de la ligne correspondant à l'enfant en cours dans la liste(ListView).

    D'ailleurs ce numéro peut être récupéré à partir de l'événement DblClick de la ListeView et le mettre par exemple dans un contrôle TextBox caché puis l'utiliser dans chkPresent_Click.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  4. #4
    Futur Membre du Club
    Homme Profil pro
    électricien
    Inscrit en
    Mars 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : électricien

    Informations forums :
    Inscription : Mars 2016
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Bonjour,
    merci,je vais essayer

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/06/2010, 14h30
  2. Mettre le titre d'une colonne dans une cellule
    Par Argonan dans le forum Excel
    Réponses: 6
    Dernier message: 25/02/2009, 21h47
  3. Comment afficher ou Maskquer une Colonne dans Listview
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/06/2008, 10h44
  4. Largeur d'une colonne dans une listview
    Par soso78 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 04/01/2008, 12h17
  5. Mettre à jour les lignes d'une colonne dans dataTable
    Par Mikelester12 dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/07/2007, 08h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo