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 :

Couleur form en continu


Sujet :

Access

  1. #1
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut Couleur form en continu
    bonjour j'ai un form (avec une entete) en mode continu dans lequel j'ai ecrit ce petit bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Open(Cancel As Integer)
    DoCmd.Maximize
    If Me.Date.Value < Date Then
    BackColor = "red"
    Else: BackColor = "green"
    End If
    End Sub
    Je pensais pouvoir modifier la couleur d'arriere plan de chaque enregistrement en fonction de la date mais bon... manifestement y'a qu'que chose qui cloche !
    Quelqu'un peut-il me dire où ?
    Merci d'avance.


  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    message d'erreur ...?

    essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    (...)
    BackColor = vbred
    Else: BackColor = vbgreen
    (...)

  3. #3
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    Salut BBIL,
    ben non justement je n'ai pas de message d'erreur ni en compilant ni à l'ouverture du form...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BackColor = vbred
    Else: BackColor = vbgreen
    ne fonctionne pas non plus

    J'ai lu des avis contradictoires dans les topics sur la modification des formulaires en continu... donc je finis par me demander si c'est realisable


  4. #4
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    Eventuellement si tu es sous AC2000 ou supérieur, tu pourrais peut être régler ton problème avec une mise en forme conditionnelle
    Bonne continuation.
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    voir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Detail.BackColor = vbRed
    ...

  6. #6
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    resalut BBIL,
    Bon...j'ai testé ton petit bout de script et"BEUGUE"
    j'ai rajouté "me" devant.... et là :
    Visual Basic for Applications (VBA) a rencontré un problème en essayant d'accéder à une propriété ou à une méthode. Le problème peut être l'un de ceux qui suivent :
      • Une référence est manquante...
      • Une expression est mal orthographiée...
      • Une fonction définie par l'utilisateur est déclarée en tant que fonction Sub ou Private dans un module.
      • Les expressions ne peuvent résoudre une fonction définie par l'utilisateur que si la fonction est déclarée comme l'une des fonctions suivantes :
        • Une fonction publique dans un module
        • Une fonction privée ou publique d’un module de code du formulaire ou rapport actif.
      • Le niveau de sécurité dans Access est défini à Moyen ou Élevé....
    Je n'y pige pas grand chose à tout ce charabia, si ce n'est que je suis à jour et sécurité macro sur "bas".

    Merci aussi à toi FreeAccess pour ta reponse, mais ce que j'ai fait ça n'est pas une mise en forme conditionnelle ? pourtant j'ai un ""if dedans !


  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par ptkppr
    .... une mise en forme conditionnelle ? pourtant j'ai un ""if dedans !
    pour la mise ne forme conditionnelle tu sélectionne ton champ (date..) , puis menu format/Mise en forme conditionnelle...

  8. #8
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    ok... j'ai utilise la mise en forme conditionnelle sur le champ date et ça marche.
    Alors j'ai place le champ en premier, sur la gauche du formulaire avec un etirement du controle sur la largeur du form et alignement à gauche du contenu.
    Quand la condition est remplie la couleur du controle est modifiee et on peut lire les autres controles par transparence... du bon vieux systeme D
    Mais j'aurais bien aime trouver une solution plus academique. Si quelqu'un a la soluce ou une piste , je suis preneur


  9. #9
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re,
    Franchement, je ne comprends pas ta solution
    j'ai place le champ en premier, sur la gauche du formulaire avec un etirement du controle ...................Quand la condition est remplie la couleur du controle est modifiee et on peut lire les autres controles par transparence
    Ton problème était bien de pouvoir changer la couleur du fond du champ en fonction de la valeur de ta date
    Et c'est bien ce que fait une mise en forme conditionnelle
    Ou alors, j'ai pas du tout compris ton problème
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  10. #10
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    si j'ai reussi à faire ce que tu m'as conseille pour la mise en forme conditionnelle du champ.
    Donc comme ce champ je l'ai etiré sur tout la largeur du formulaire ça donne l'illusion que c'est la partie detail du form dont la couleur est modifiee...
    Mai au depart ce que je voulais faire c'est modifier la couleur du detail du form en continu...
    Tu vois le truc ? Là en fait ce n'est qu'un palliatif.


  11. #11
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Ok, je comprends mieux....
    Sinon, ici un lien présentant une possibilité de couleur de fond avec un formulaire continu:
    http://www.mvps.org/access/forms/frm0024.htm

    Et au cas ou ce tuto t'aurais échappé
    http://warin.developpez.com/access/mfc/

    Bonne continuation
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  12. #12
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    apres avoir retourne le probleme dans tous les sens je suis revenu à mon idee de depart... et en fait ça fonctionne partiellement voici mon petit script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Form_Open(Cancel As Integer)
    If Me.Date.Value < Now Then
    Me.Détail.BackColor = vbRed
    Else: Me.Détail.BackColor = vbGreen
    End If
    End Sub
    C'est tout bête mais j'avais oublié l'accent sur le "e" de Détail... donc Access ne reconnaissais pas j'ai rectifié le tir !
    Actuellement la couleur de fond change bien selon le critere, mais elle s'attribue à tous les enregistrements dans le form continu je m'explique :
    Si le 1er enregistrement trouvé correspond au critere tout est en rouge , s'il ne correspond pas tout est en vert.
    Je me demande si le script placé sur l'ouverture du formulaire est la bonne solution ?
    Ou bien faudrait-il completer le script par une routine qui verifie chaque enregistrement ?


  13. #13
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    Pourquoi insiste tu dans cette voie (code VBA), alors qu'une mise en forme conditionnelle fonctionne correctement
    Le tuto sur la MFC explique ceci très bien

    Exemple:
    Tu as un formulaire en mode continu avec les champs suivants:

    DateFacture / Nom / Prenom / Montant

    But: Metrre en couleur TOUS les enregistrements (lignes) du formulaire dont la date de facture est inférieure à la date actuelle.

    -1) Tu sélectionne ton champ DateFacture et tu applique cette MFC:
    Valeur du champ..... inférieur à..... Date() ....et tu choisi une couleur de texte rouge sur fond jaune

    -2) Tu sélectionne TOUS tes autres champs et tu applique cette MFC:
    Expression...........[DateFacture]<Date().......et tu choisi une couleur de texte rouge sur fond jaune
    Et voila la mise en forme est correcte et fonctionne parfaitement ...et ce quelque soit la position de ton champ DateFacture.
    Inspire toi du fichier joint
    Bonne continuation
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  14. #14
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    Bonsoir FreeAccess,
    Bon... je me range à ton conseil, ça marche sans probleme.
    N'empeche que pour ma culture personnelle j'aurais aimé pouvoir agir sur le form continu selon mon idée de départ
    Aller ! bonne fin de WE.


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

Discussions similaires

  1. [PPT-2007] lien hypertexte + modifier couleur forme
    Par momoju dans le forum VBA PowerPoint
    Réponses: 0
    Dernier message: 01/06/2012, 19h08
  2. Réponses: 2
    Dernier message: 04/11/2008, 19h19
  3. sons couleurs formes
    Par RiBe88 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 30/09/2008, 22h41
  4. lib couleur forms
    Par daliok dans le forum Forms
    Réponses: 8
    Dernier message: 18/10/2007, 16h39
  5. Réponses: 12
    Dernier message: 07/07/2006, 11h08

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