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

Access Discussion :

Changer la couleur de fond de chaque record dans un formulaire en format continu. [AC-2010]


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Changer la couleur de fond de chaque record dans un formulaire en format continu.
    Bonjour à tous,

    Voici un problème que peut-etre vous autres expert avez déjà résolu.
    J'ai un formulaire en mode continu avec un champ "statu" et trois champ correspondant au code couleur RGB. Je desire changer la couleur de fond de ces champs dès la saisie ou la modification d'un de ces 3 champs couleurs. Le problème est que tous les champs sont colorié avec le dernier record lu:
    Voici un print screen:
    Nom : Statut Emplacement.jpg
Affichages : 1871
Taille : 137,9 Ko
    Et voici le code que j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.STA_STE.BackColor = RGB(Nz(Me.[STE_RGB_R].Value, 0), Nz(Me.[STE_RGB_G].Value, 0), Nz(Me.[STE_RGB_B].Value, 0))
    Mais quel que soit l'évènement utilisé, tous les records ont la même couleur...
    Quelque chose m'échappe ...

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 004
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 004
    Points : 24 593
    Points
    24 593
    Par défaut
    Bonjour,

    C'est le fonctionnement normal du mode continu.
    On ne peut définir qu'un format par les moyens habituel.

    Pour réaliser ce que tu veux faire il faut tricher et utiliser la Mise en forme conditionnelle.
    Tricher en mettant un cadre en fond pour pouvoir y fixer la couleur.
    Et utiliser la Mise en forme conditionnelle pour changer cette couleur suivant tes conditions.

    Il y a un tuto sur la mise en forme conditionnelle.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bonjour et merci d'avoir répondu à ma question,

    Effectivement, je connais le formatage conditionnel mais les valeurs sont fixes et, à ma connaissance, ne pas pas être liées aux valeurs des champs du formulaire.
    A moins que je me trompe.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 004
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 004
    Points : 24 593
    Points
    24 593
    Par défaut
    Il n'y a pas d'autre méthode pour agir sur une seule ligne dans un formulaire continu.
    Il y a un tuto sur la programmation VBA de la mise en forme. Peut-être que tu y trouvera une piste ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour vous deux,

    Peut-être une idée à exploiter.
    Dans une formulaire continu, il est possible d’afficher une image différente pour chaque ligne d’enregistrement.
    Regarde ici : http://claudeleloup.developpez.com/t...plic-ploc/#LII
    Dans ton cas les images pourraient être du style Kasimir Malevitch (carré blanc sur fond blanc, carré jaune sur fond jaune…) et choisies en fonction de la valeur du statut.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  6. #6
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Merci à vous deux pour vos réponses.
    J'avoue ne pas savoir encore comment faire. La méthode de Claude est excellente pour des images. Mais les combinaisons RGB rendent la solution plutôt difficile à mettre en œuvre.
    Je ne suis peut-être pas obligé d'utiliser le mode continu. Je vais encore me creuser la tête car j'ai vraiment besoin d'un choix de couleur ou d'une palette qui influence le fond de mes champs.

  7. #7
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Si l'affichage du formulaire est « Mode simple », alors c'est tout facile : tu ajoutes, dans l'événement « Sur Activation », l'instruction que tu montres dans ton 1er billet.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Ce n'est pas tout à fait ce que tu demandes, mais faute de mieux, ceci est peut-être acceptable :


    Tout est ici Arkham46 : http://www.developpez.net/forums/d72...e/#post4201158
    Fichiers attachés Fichiers attachés
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bonjour à tous et merci encore à claude pour ses propositions.

    En fait cela fonctionne aussi en mode "Continuous Forms". Après avoir testé tous les évènements, l’éventement "On Paint" sur la partie Detail du formulaire fonctionne parfaitement.
    Voici l'image et le le code correspondant:
    Nom : Statut Emplacement.jpg
Affichages : 1689
Taille : 196,2 Ko
    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
    Private Sub Detail_Paint()
        Me.STE_STA.BackColor = RGB(Nz(Me.[STE_RGB_R].Value, 0), Nz(Me.[STE_RGB_G].Value, 0), Nz(Me.[STE_RGB_B].Value, 0))
        If Me.STE_FontCoul.Value = 1 Then
            'Noir
            Me.STE_STA.ForeColor = RGB(0, 0, 0)
        End If
        If Me.STE_FontCoul.Value = 2 Then
            'Blanc
            Me.STE_STA.ForeColor = RGB(255, 255, 255)
        End If
        If Me.STE_FontCoul.Value = 3 Then
            'Rouge
            Me.STE_STA.ForeColor = RGB(255, 0, 0)
        End If
    End Sub
    J'ai aussi bien entendu le même code sur les évènements "After Update" des champs pour rendre le fond dynamique.



    Par contre, en essayant différentes choses, je me suis aperçu des limites d'Access. J'avais d'abord utilisé le code suivant pour la couleur du texte:
    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
    Private Sub Detail_Paint()
        Me.STE_STA.BackColor = RGB(Nz(Me.[STE_RGB_R].Value, 0), Nz(Me.[STE_RGB_G].Value, 0), Nz(Me.[STE_RGB_B].Value, 0))
        Select Case Me.STE_FontCoul.Value
        Case 1
            'Noir
            Me.STE_STA.ForeColor = RGB(0, 0, 0)
        Case 2
            'Blanc
            Me.STE_STA.ForeColor = RGB(255, 255, 255)
        Case 3
            'Rouge
            Me.STE_STA.ForeColor = RGB(255, 0, 0)
        Case Else
            MsgBox ("Detail_Paint - STE_FontCoul: " & Me.STE_FontCoul.Value)
        End Select
    End Sub
    ... que j'ai dû remplacer par des "IF" successifs car ça ne fonctionnait pas avec un select case ?!?...
    Mais bon... le principal est le résultat.

    Merci encore.

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Ça ne fonctionne apparemment qu'à partir d'Access 2010 : https://msdn.microsoft.com/en-us/lib.../ff836875.aspx

    Test avec Access2000, le code compile, mais ne s'exécute pas au changement d'enregistrement.

    Si je déclenche Sub Detail_Paint() manuellement, la modification s'applique à tous les enregistrements.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #11
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Pour info, je suis en version 2010.

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 19/03/2014, 19h42
  2. [WD10] Changer la couleur de fond d'une ligne dans une table memoire
    Par Techys dans le forum WinDev
    Réponses: 17
    Dernier message: 22/09/2011, 11h12
  3. Réponses: 3
    Dernier message: 26/08/2011, 12h04
  4. changer la couleur de fond de la selection dans une richtextbox
    Par Folkene dans le forum Windows Forms
    Réponses: 7
    Dernier message: 21/08/2009, 11h26
  5. Changer la couleur de fond de l'écran
    Par tnk dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 19/01/2003, 01h37

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