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 :

Coloration lignes formulaire continu en fonction d'un champ [AC-2003]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Points : 15
    Points
    15
    Par défaut Coloration lignes formulaire continu en fonction d'un champ
    Bonjour à tous!

    Après nombreuses recherches, aujourd'hui n'est pas mon ami ^^

    En effet, j'ai trouvé des choses qui se rapproche de ce que je cherche mais rien de colle.

    Je vous explique, je voudrais mettre les lignes de mon formulaire continu de différentes couleurs en fonction de la valeur d'un des contrôles de la ligne.

    Mon formulaire représente une liste de contrats d'assistance pour lesquels j'affiche :
    - le nom de la société qui a souscrit le contrat
    - le numéro du contrat
    - la date de souscription
    - la date d'échéance
    - plus quelques autres infos

    Ce que je voudrais c'est que les contrats dont la date d'échéance :
    - est dépassée depuis plus de 3 mois soient en rouge
    - est dépassée de moins de 3 mois en orange
    - sera atteint à la fin du mois suivant (le mois en cours) en jaune
    - va plus loin en blanc

    Pour faire cela, j'ai essayé différente chose mais je n'arrive pas au résultat voulu.

    J'ai trouvé un tuto qui montrait bien comment changer la couleur ligne par ligne mais c'est avec une liste déroulante (donc pas automatique avec la date).

    J'ai essayé la mise en forme conditionnelle sur tous les contrôles avec 3 conditions (mais j'ai du mal avec les expressions surtout au niveau de différence de date).

    J'ai essayé de mettre un controle en fond de la longueur et hauteur de la ligne que j'ai fait changer de couleur en vba , ces trucs fonctionnés à moitié (mais peut-être par ma faute) .
    J'ai réussi à bien faire correspondre les couleurs, mais toutes les lignes prennaient la couleur de la dernière date.

    Après j'ai un doute sur l'endroit où faire l'appel du 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Dim moisEch
    Dim anEch
    Dim moisDate
    Dim anDate
     
    If Not IsNull(Me.Date_Echeance) Then
     
        moisEch = Month(Me.Date_Echeance)
        anEch = Year(Me.Date_Echeance)
        moisDate = Month(Date)
        anDate = Year(Date)
        'si le contrat est termine depuis plus de 3 mois
        If (DateDiff("m", Date, Me.Date_Echeance) < -3) Then
            Me.LigneBckgrd.BackColor = 255 'rouge
        'sinon
        Else
            's'il est termine
            If Me.Date_Echeance < Date Then
                Me.LigneBckgrd.BackColor = 52479 'orange
            'ou
            Else
                'qu'il se termine dans les 2 mois
                If moisEch <= moisDate + 2 And anEch = anDate Then
                    Me.LigneBckgrd.BackColor = 10092543 'jaune
                'sinon (toujours valide)
                Else
                    Me.LigneBckgrd.BackColor = 16777215 'blanc
                End If
            End If
        End If
    Else
        Me.LigneBckgrd.BackColor = 16777215 'blanc
    End If
    Après j'ai pensé, peut-être utiliser l'objet recordset du formulaire mais là je sais pas trop comment faire.

    Donc voilà si vous avez déjà essayé de faire quelque chose de similaire ou que vous ayez une idée pour m'aider je suis preneur.

    Merci d'avance pour vos réponses.

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

    La MFC sera le plus simple dans ton cas.

    Tu nous dis que tu as essayé, peux-tu mettre les expressions que tu as testé ?

    As-tu lu ce tuto : La mise en forme conditionnelle sous Access

    Philippe

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    J'ai déjà regardé ce tuto, oui. Ainsi que cette discussion (c'est d'ailleurs d'ici que j'ai été voir le tuto)

    Je viens de réessayer la mfc mais access me dit que mon expression est incorrecte mais je ne vois pas quel est le problème

    Edit:
    Pour le rouge:
    datediff("m",Date(),[Date Fin])<=-3
    DiffDate("m";Date();[Date fin])<=-3

    Pour le orange:
    datediff("j",Date(),[Date Fin])<=0
    DiffDate("m";Date();[Date fin])<=0

    Pour le jaune:
    datediff("m",[Date Fin],Date())<=2
    DiffDate("m";Date();[Date fin])<=2

    et là ça a l'air de vouloir marcher, je vous tiens au courant dès que ça sera complétement opérationnel, du coup je mettrais "Résolu" quand ça sera certain

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/05/2012, 19h09
  2. [AC-2003] Coloration lignes form continu
    Par Asyoshi dans le forum IHM
    Réponses: 2
    Dernier message: 04/07/2011, 11h10
  3. [AC-2003] Formulaire continu implémenté en VB et champs indépendants
    Par Farabon dans le forum VBA Access
    Réponses: 2
    Dernier message: 15/06/2011, 13h37
  4. Formulaire continu et maj valeur de champs
    Par Raz0r dans le forum IHM
    Réponses: 7
    Dernier message: 15/06/2006, 15h06
  5. [Formulaire continu] une ligne sur deux en gris
    Par genius99 dans le forum IHM
    Réponses: 7
    Dernier message: 30/10/2005, 18h52

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