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 :

[Formulaire]Mise en forme conditionnelle


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 128
    Points : 35
    Points
    35
    Par défaut [Formulaire]Mise en forme conditionnelle
    Bonjour,

    J'aurais besoin d'un coup de main pour mettre en place une mise en forme conditionnelle.

    Petite explication sur le principe.

    - J'ai un formulaire où je rentre des longueur de produits en millimètres.
    - J'ai une table avec plusieurs produits (x, y, z) et pour chaque produit, j'ai une tolérance (mini et maxi)
    (ex : Produit x, mini = 10, maxi = 12 ; Produit y, mini = 11, maxi = 13 ; Produit z, mini = 10, maxi =11)

    Mon souhait est que lorsque je choisi un produit dans ma liste déroulante et que je rentre une longueur pour ce produit, une mise en forme conditionnelle vienne s'appliquer et si ma valeur n'est pas comprise entre le mini et le maxi, ma valeur s'affiche avec une police ou une trame différente.

    Merci du coup de pouce

  2. #2
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut
    Bonjour,

    Une solution envisageable est de créer du code sur l'évènement afterUpdate de ta zone de texte.
    Dès que l'utilisateur a fini de rentrer sa longueur, tu vérifie qu'elle rentre bien dans tes tolérances et si ce n'est pas le cas, tu change le format de la police (en gras, en couleur, ou ce que tu veux...)

    Voila...

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Tu peux faire cela avec la mise en forme conditionnelle avec Expression tu peux tester d'autre champs pour modifier la mise en forme du champ courrant.

    A+

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 128
    Points : 35
    Points
    35
    Par défaut
    Merci pour vos réponses mais est il possible de m'en dire un peu plus sur le code à rentrer ou bien sur l'expression à mettre dans la mise en forme conditionnelle?

  5. #5
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut
    Le code donne à peu près ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Select Case MaListeDeroulante.Value
     
      Case "x"
        if MaZoneDeTexte.Value < 10 then
          MaZoneDeTexte.FontColor = Red
        end if
     
     Case "y"
    ........................
    ........................

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 128
    Points : 35
    Points
    35
    Par défaut
    Est il possible possible d'inclure à ce code, le fait qu'une fois qu'on a fait un choix dans la zone de liste déroulante, les valeurs à ne pas dépasser soient récupérées dans une table?

    Autre chose, pour une valeur entrée, j'ai un résultat qui doit être compris entre une borne 1 et une borne 2 et pas seulement avec :

    MaZoneDeTexte.Value < 10

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 034
    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 034
    Points : 24 605
    Points
    24 605
    Par défaut
    Bonjour,

    Pour le bornage utiliser l'opérateur And.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if mavaleur > 10 and mavaleur < 11 then
    Pour la récupération c'est possible (qu'est ce qui n'est pas possible avec ACCESS)

    Utiliser les fonctions de domaine Dmin et Dmax.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dmin("champValeur","table","table.produit='monproduit')
    pour Dmax c'est identique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If mavaleur > Dmin("valeur","table","table.produit=""" & me.monproduit &"""") and mavaleur < Dmax(....) then
    La condition est que la table comporte bien un champ d'indentification pour retrouver la valeur suivant le produit.

    L'exemple donné est pour un produit de type texte, sinon supprimer le doubles-cotes inutiles.

    Cordialement,

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 128
    Points : 35
    Points
    35
    Par défaut
    Peux-tu me dire à quoi correspond :
    champValeur
    table
    table.produit
    monproduit

    Merci

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 034
    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 034
    Points : 24 605
    Points
    24 605
    Par défaut
    ChampValeur c'est le nom du champ qui contient la valeur
    Table c'est la table qui contient le champ (celui cité ci-dessus)
    Table.produit c'est le champ qui permet dans ton cas d'indentifier la borne suivant le produit
    nomproduit c'est ton controle qui contient le nom du produit.

    Ce qui est super avec access c'est qu'il y a une touche F1 lorsque l'on est positionné sur une fonction l'appuie sur cette touche t'y mène directement.

    Cordialement,

Discussions similaires

  1. Mise en forme conditionnelle d'un formulaire
    Par white-angel dans le forum IHM
    Réponses: 1
    Dernier message: 04/09/2007, 12h22
  2. Réponses: 2
    Dernier message: 01/06/2007, 10h42
  3. [Formulaire]Mise en forme conditionnelle
    Par emilie31 dans le forum IHM
    Réponses: 22
    Dernier message: 26/04/2007, 15h46
  4. [Formulaire] Mise en forme conditionnelle en VBA
    Par léti07 dans le forum IHM
    Réponses: 26
    Dernier message: 16/10/2006, 09h12
  5. Réponses: 4
    Dernier message: 15/11/2005, 18h53

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