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 :

Mise en forme conditionnelle d'un formulaire


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Mise en forme conditionnelle d'un formulaire
    Boujour,

    Je désirerai améliorer l'affichage d'un formulaire en mode feuille de données en colorant une ligne sur deux, pour que l'on puisse plus facilement s'y retrouver sur un grand tableau.

    Pour ce faire, j'ai modifié les mises en forme conditionnelles des cellules affichées en ajoutant l'expression suivante dans chacune d'elle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Expression =   ([Numéro]/2)-Ent([Numéro]/2)>0
    Cette ligne me permet de colorer chaque ligne impaire, en tenant compte du numéro stocké dans le champ Auto [Numéro] de la table source du formulaire. Ainsi j'ai bien une ligne sur deux colorée.

    Mon problème est le suivant : lorsque j'effectue des tris sur le formulaire certaine enregistrements disparaissent (des pairs et des impairs) et je n'ai plus la continuité d'enregistrements pairs et impairs qui me donne une ligne sur deux colorée.
    J'ai pensé à baser l'expression ci dessus sur le numéro d'enregistrement du formulaire plutot que sur le champ [Numéro])de la table.
    Mais comment faire cela ? Quelqu'un aurait-il un idée pour y parvenir, ou une autre façon de colorier une ligne sur deux ?

    Merci.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Je suis finalement arrivé à l'effet désiré après pas mal de recherches. Voila comment j'ai procédé :

    Ajout de la fontion suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function scompt(x As Variant, raz As Boolean) As Long
    Static compteur  As Long
    If raz Then
    compteur = x
    Else
    compteur = compteur + 1
    End If
    scompt = compteur
    End Function
    ajout dun champ indépendant dans le formulaire appelé [No]
    avec comme source : =scompt([Numéro];Faux)

    ensuite pour chaque champ je mes l'expression suivant dans la mise en forme conditionnelle : ([No]/2)-Ent([No]/2)>0

    Afin de mettre à zéro le compteur je met un petit A=scompt(0;Vrai) dans un contrôle de formulaire

    Et j'obtien le résultat souhaité.

    Inconvénient : augmentation du temps d'affichage

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/12/2012, 16h06
  2. Réponses: 7
    Dernier message: 19/06/2011, 05h56
  3. Réponses: 12
    Dernier message: 10/02/2009, 21h43
  4. Mise en forme conditionnelle dans un formulaire
    Par moilou2 dans le forum IHM
    Réponses: 1
    Dernier message: 22/02/2008, 18h13
  5. Réponses: 1
    Dernier message: 25/01/2008, 10h17

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