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

IHM Discussion :

backcolor d'une cellule d'un listview


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 56
    Points : 28
    Points
    28
    Par défaut backcolor d'une cellule d'un listview
    Bonjour,

    J'aimerai savoir si quelqu'un connaît une astuce pour changer la couleur de fond d'une cellule d'un listview (pas l'ensemble du listview)? J'arrive à modifier la couleur du texte avec forecolor mais je préfèrerai modifier la backcolor.

    Merci pour vos conseils

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Dans une listeview tu ne peux modifier la couleur d'une ligne. Effectivement tu peux changer la couleur du texte, le fond de l'ensemble, c'est tout.

    Il y'a peut-être d'autres solutions

    1 - Un sous-formulaire, mais tu n'aurais que 3 choix possibles
    2 - Une source que j'ai mis ce week-end dans le sous-forum contribution, mais tu serais limité à 120 lignes.
    3 - Le composant MSFlexGrid avec le quel tu pourras faire de la coloration.
    4 - Pour le ListView peut-être une solution avec les API, mais je ne suis pas sûr.

    Starec

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 56
    Points : 28
    Points
    28
    Par défaut
    Bonjour,

    Merci Starec pour ta réponse mais j’ai testé avec le sous formulaire avec une mise en forme conditionnelle et je n’en suis pas satisfaite. Je ne peux pas non plus utiliser ta source (listbox couleur) à cause de la limitation du nombre de lignes. Je suis actuellement en train de décortiquer le code d’Arkham concernant une listview de saisie.
    Je n’en suis pour l’instant qu’au début et déjà 2 questions :
    -Est-t-il possible que la 1ère listview apparaisse directement sur le formulaire sans que l’on ait besoin de cliquer sur un bouton (CmbEnTete dans la source d’Arkham) ?
    -A partir de la fonction DisplayListView du module, est-t-il possible d’effectuer un tri (asc ou desc) sur clic des entêtes de colonnes ?

    Merci pour vos conseils

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Je n'ai jamais vraiment utilisé les listview, je vais t'orienter sur des tutos :

    http://silkyroad.developpez.com/VBA/ListView/

    et d'une source Access faite par Maxence

    http://access.developpez.com/sources...=frms#ListView

    avec un exemple à télécharger.

    Starec

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 56
    Points : 28
    Points
    28
    Par défaut
    J'étudie aussi l'exemple de Maxence. Merci pour le tuto (je ne l'avais pas vu).

    Je vais continuer de chercher (peut être qu'Arkham pourra m'éclairer sur sa source).

    Mon objectif : changer la couleur de fond d'une ligne en fonction du contenu d'une cellule.

    Merci pour vos conseils

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Bjr,

    Mon code n'utilise pas un ActiveX mais un common control piloté par API.
    Donc pas possible de le poser sur un formulaire, la liste ne peut apparaître qu'à la demande dans une popup.
    Et donc il faut tout développer à la mimine, donc pas de tri ni de couleur parce que j'ai pas fait...(ça a pas l'air très simple...).
    Et l'ActiveX, malheureusement je ne le connais pas.

    Sinon une solution peut être de passer par un sous-formulaire avec un contrôle OLE en arrière plan qui contient une image étendue de 1*1 pixel de la couleur voulue.
    Cf si besoin ce post pour la génération d'une telle image OLE par VBA :
    http://www.developpez.net/forums/sho...createolecolor

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 56
    Points : 28
    Points
    28
    Par défaut
    Bonjour,

    Merci pour ces explications. Donc si je comprend bien, il n'y a pas de possibilités de définir la couleur de fond d'une ligne d'un listview en fonction d'un critère. Par contre, en cherchant sur le net, j'ai vu un peu partout qu'il y a moyen, mais en VB, d'alterner la couleur de fond une ligne sur 2.

    Un ou une d'entres vous l'aurait-il (elle) mis en application pour access ?

    Merci pour vos conseils

  8. #8
    seb92400
    Invité(e)
    Par défaut
    Bonsoir krina85,

    Pour ce qui est de colorier une ligne sur deux dans un état, j'ai utilisé la petite fonction de papy turbo que tu trouves dans la faq ici. Je pense que c'est facilement adaptable à un formulaire...

    Sinon, j'ai également utilisé le tuto sur la mise en forme "non conditionnelle" ici. Je n'ai jamais cherché si on pouvait changer la couleur en fonction d'une donnée... mais je pense que c'est adaptable pour "colorier" certaines lignes et pas d'autres...

    J'ai lu aussi qu'on pouvait faire de la mise en forme conditionnelle avec vba, mais je ne retrouve pas l'article... (je crois que c'est dans un tutoriel), mais là encore, je ne suis pas sûr qu'on puisse mettre plusieurs couleurs...

    Perso, je pense que je creuserai un peu le tutoriel de JP Ambrosino pour réaliser ton souhait... et n'oublie pas : Ils ne savaient pas que c'était impossible alors ils le réalisérent !!

    Bon courage !

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 56
    Points : 28
    Points
    28
    Par défaut
    Bonjour,

    Merci à tous pour votre aide. J'ai testé un sous formulaire avec mise en forme conditionnelle mais j'ai des soucis de scintillements malgré une solution proposée ici. J'ai donc testé avec un listview et à part la backcolor des lignes, j'ai le même résultat (sans le scintillement).
    Noawsen : je teste ta proposition (celle de papy turbo) et reviens dire ce que ça donne.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/04/2010, 16h18
  2. ListView empecher la sélection d'une cellule
    Par frizou11 dans le forum C
    Réponses: 2
    Dernier message: 17/10/2007, 17h12
  3. Réponses: 3
    Dernier message: 22/08/2007, 12h12
  4. [VB.NET] listview : changer la couleur d'une cellule
    Par SergeF dans le forum Windows Forms
    Réponses: 6
    Dernier message: 28/10/2005, 08h58

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