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 :

couleur case en fonction de la valeur


Sujet :

IHM

  1. #1
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut couleur case en fonction de la valeur
    bonjour, j'ai un état où pour un champ de type date j'ai soit une date soit rien.

    Je souhaite qu'en mode impression, si le champ date est vierge, la case est alors rouge.

    voilà mon code en ouverture

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if me.date.value="" then
    me.date.backcolor = vbred
    else
    me.date.color=vb vhite
    end if
    lorsque j'ouvre le document, ça me dit champ inexistant.

    ??? Merci de votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Sur quelle ligne de code ?

    L'espace dans est-il une faute de frappe dans ton message ou c'est réellement dans ton code ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

    De plus avoir un champ de type Date est loin d'être une bonne idée, c'est une fonction VB et tu risque d'avoir une ambiguitée d'interprétation.

    A lire : Les conventions typographiques en VBA (illustrées sur Access)

    Philippe

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 352
    Points : 181
    Points
    181
    Par défaut
    Bonsoir,

    Avec la mise en forme conditionnelle tu dois résoudre ton problème.

    Jean-Pierre

  5. #5
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    en fait je crois savoir d'où viens mon erreur,
    j'ai 2 tables, une avec des noms d'UV et date d'obtention,
    une seconde avec nom d'UV et thematique.

    La requete lie les deux tables via l'UV avec
    tous les enregistrements uv/thematique seulement ceux egal UV/date.

    L'état me liste donc tous les Uv avec soit des dates soit un champ vide.
    Mais c'est un vide qui "n'existe pas "

    Donc je ne peux pas demander à quelquechose qui n'existe pas de ce colorier.

    C'est ça?


  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Citation Envoyé par Philippe JOCHMANS
    De plus avoir un champ de type Date est loin d'être une bonne idée
    Je pense que Philippe JOCHMANS voulait dire qu'avoir un champ nommé "Date" qui n'est pas une bonne idée. Personnellement je nomme toujours mes champs date "DateQuelqueChose" ou "DateHeure" si je n'ai pas de quelque chose ce qui évite qu'il soit confondu avec la fonction Date() du système.

    Je ne comprend pas bien ta notion de qui n'existe pas. Tu ne joues pas avec la couleur de fond ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Musicien
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Musicien

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Problème remplissage de champs à liste de choix
    J'ai a peu près le même type de problème, je vous explique: dans un sous formulaire j'aimerais que le remplissage d'un champ (avec la couleur verte) s'effectue après le complément de celui avec une valeur. Pour un champ appelé "champ5" on le compléte grace à une liste de choix de 2 valeurs, voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub champ5_AfterUpdate()
     
    If [champ5].Value = "..." Then
     
       Me![champ5].BackColor = vbGreen
     
    Else
       If [champ5].Value = "..." Then
           Me![champ5].BackColor = vbGreen
     
       End If
    End If
     
    End Sub
    Les deux conditions étant des noms de personnes. En espérant être assez clair...

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Et ton problème est où ?

    Sinon tester en dur un nom de personne dans du code n'est pas généralement une bonne idée car si la personne quitte il te faut modifier ton code et dépolyer une nouvelle version de ton application.

    Quand on a faire cela on crée habituellement une table de paramétrage qui contient la liste des personnes concernées comme cela si la personne s'en va il suffit de retirer son nom de la table et d'ajouter son remplaçant éventuel. Ceci sans aucun impact sur l'application.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Musicien
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Musicien

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Re
    Mon problème étant que la case ne se remplit pas.
    Il est vrai, merci du conseil en ce qui concerne le nom, j'ai mis ce code avec le nom car c'est le seul que j'ai réussi à écrire a peu près correctement.

    L'objectif du code est juste que le champ se remplisse en vert lorsque qu'il est compléter (d'ou mon idée de after_update) sauf que ce champ se complète grace à une liste de choix (de deux noms). J'ai tenté la mise en forme conditionnelle mais elle ne fonctionne pas.

    Merci de ton aide!

  10. #10
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Il faudrait vérifier que le code s'exécute bien.

    Tu peux y mettre un point d'arret ou ajouter un msgbox().

    et si oui essaye d'ajouter :

    après le changement de couleur.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Musicien
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Musicien

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    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
     
    Private Sub champ5_AfterUpdate()
    MsgBox ("activer couleur")
    If [champ5].Value = "..." Then
     
    Me![champ5].BackColor = vbGreen
    Me.Repaint
    DoEvents
     
    Else
    If [champ5].Value = "..." Then
    Me![champ5].BackColor = vbGreen
    Me.Repaint
    DoEvents
     
    End If
    End If
     
    End Sub
    Voila mon nouveau code, la msgbox fonctionne mais pas la mise en forme de la cellule, même après avoir fermé et réouvert mon formulaire.

    Est ce qu'une alternative comme un code qui permettrais de changer la couleur de la cellule apres que celle ci soit remplie peut importe la valeur qui s'y trouve pourrait fonctionner?

  12. #12
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Vérfie que les instructions de changement de couleur sont bien exécutées.

    comme il y a un test avant il se peut, si ton test est faux qu'elle ne soient jamais exécutée.

    Autre question es-tu sur un formulaire en mode continu ou unique ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Musicien
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Musicien

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Points : 9
    Points
    9
    Par défaut re
    J'ai enlever la condition et mon instruction couleur ne fonctionne pas j'en déduit qu'elle est fausse sauf que je n'ai une connaissance que très limitée en VBA et je n'arrive pas à réaliser un code juste.

    Merci pour ton aide en tout cas!

  14. #14
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Ci-joint une BD de test qui fait cela.

    à l'arrivée sur une energistrement la case est rouge si elle est vide, verte si elle est pleine.

    Une fois modifiée elle passe au vert.

    Tu noteras que le code est très semblable au tien et je n'ai même pas eu à mettre le Me.Repaint et doevents. Je ne vois pas d'où cela vient dans ton appli.

    J'espère que ma BD t'aidera trouver ce qui cloche dans ton appli.

    A+
    Fichiers attachés Fichiers attachés
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Musicien
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Musicien

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Re
    Je suis desespéré, J'ai recopier ton code excatement de la ¨même manière en changeant le nom du champ mais cela ne fonctionne toujours pas. Ca à pourtant l'air d'une question anodine mais je ne comprend vraiment pas pourquoi cela ne fonctionne pas.

    Je vais abandonner je pense, en plus je commence avoir de sérieux soucis de base qui rame de plus en plus.

    Je te remercie de ton aide en tout cas

  16. #16
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    As-tu pu faire fonctionner ma base telle qu'elle est ?

    Pour la base qui rame essaye de la compresser, ça aide généralement.

    Sous Access 2007 c'est dans le menu principal puis le choix gérer il me semble.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Musicien
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Musicien

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Oui pour ta base j'ai réussi à la faire fonctionner et le code fonctionne.

    (J'ai déplacer mon fichier vers la racine du disque et je l'ai compresser, cela à fonctionner)

    C'est peut être le fait que mon champ se remplit grace à une liste de choix que ce ne fonctionne pas?

  18. #18
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    C'est peut être le fait que mon champ se remplit grace à une liste de choix que ce ne fonctionne pas?
    Je ne vois pas pourquoi. Tu peux toujours faire un essai en remplaçant ta liste déroulante par une zone de texte.

    Sinon, peux-tu m'envoyer ta BD à mon email perso. Je vais regarder cela en fin de semaine. Je t'envois mon email en message privé.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/09/2013, 09h25
  2. [AC-2010] remplir automatiquement une case en fonction d'une valeur
    Par marg0t dans le forum IHM
    Réponses: 6
    Dernier message: 30/08/2013, 11h30
  3. Jtable : Couleur de row en fonction d'une valeur de cell
    Par Damascus dans le forum Composants
    Réponses: 5
    Dernier message: 30/06/2011, 15h17
  4. Réponses: 1
    Dernier message: 28/03/2007, 11h28
  5. Réponses: 1
    Dernier message: 08/06/2006, 12h01

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