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 :

[A-03] Test sur couleur d'une cellule


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut [A-03] Test sur couleur d'une cellule
    Bonjour,

    Je cherche le moyen de faire un test sur la couleur d'une cellule de formulaire access 2003, afin de pouvoir griser un contrôle (commande qui ouvre un autre formulaire)....

    Par exemple, si la cellule est verte alors le contrôle est grisé, donc inactif.
    Si la cellule est rouge , alors le contrôle est actif, et peut ouvrir le document cible...

    Si quelqu'un pouvait me guider, ce serait hautement apprécié...

    Merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    Peut-on m'indiquer, quelle syntaxe à utiliser pour dire en vba access :

    si la couleur de la cellule est verte alors "action", en vba bien sur...

    Merci d'avance...

  3. #3
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Tu attribues une couleur de fond verte à ton champ lors de sa création. ou tu le modifies ultérieurement par VBA ou par mise en forme conditionelle ?

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    Je le modifie ultérieurement par mise en forme conditionnelle...

  5. #5
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Alors, il te faut regarder ta mise en forme conditionnelle (qu'il faudra traduire en VBA ensuite)

    Peux-tu exprimer la condition qui te permet de modifier le fond en vert ?

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    OK merci beaucoup, je vais tester cette solution....

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    J'ai sauté une de tes questions, sorry....

    Oui je peux exprimer la condition en sql mais pas vba... de plus je ne sais pas comment transfomer la mise en forme conditionnelle .... suis résolument pas dans le coup...

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    je suis allé voir un tuto sur la mise en forme conditionnelle... très intéressant, mais je ne vois pas comment en tirer parti pour conditionner un autre contrôle que des boites de texte ou des zones de liste... dans mon cas c'est plutôt un bouton de commande que j'aimerais conditionner... c'est dans cet esprit que je cherche à conditionner le statut "actif ou non" du dit bouton en fonction de la couleur d'un cellule... qui elle-même est formatée de manière conditionnelle...


  9. #9
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Exprime-la en français, tout simplement...

    Si la valeur du champ nommé txtLechamp alors

    ....

    ....

    On essayera de se débrouiller...

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  10. #10
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    Ok, donc voilà...en français ça donne ceci...


    Si la couleur de la cellule "Order_Date" (sorry pour l'anglais) est verte alors le bouton de commande "cmdview" est "invisible",ou "inactif", sinon il est "visible", ou"actif"... Voilà ce que ça donne en Français...

  11. #11
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Si la couleur de la cellule "Order_Date" (sorry pour l'anglais) est verte alors le bouton de commande "cmdview" est "invisible",ou "inactif", sinon il est "visible", ou"actif"...
    Non, non...

    La MFC, tu l'appliques sur une condition...

    Exemple :

    Si la date du champ nommé "Order_Date" est différente de la date du jour, alors le fond du champ est vert.

    Mais tu ne peux pas tester directement la couleur du champ appliquée par la MFC, tu dois la réécrire en VBA.

    Il te faut coder un peu, par exemple sur l'événement Après MAJ de ton champ (ou sur Perte focus) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Order_Date_AfterUpdate()
     
    If Me.OrderDate <> Date() then
     
        Me.cmdview.enabled = False
     
    Else
     
        Me.cmdview.enabled = True
     
    End Sub
    D'autre part, il faut également placer ce code dans l'événement Sur Activation du formulaire, afin que ta condition s'applique à l'ouverture du formulaire et en cas de changement d'enregistrement.

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  12. #12
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    Ok je vais suivre ton conseil....merci pour ta patience, suis pas très bon, je sais...

  13. #13
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    Re,

    J'ai testé une variante de ta solution en recourant au recordset... Cependant ça ne donne pas le résultat escompté... En effet, je tente de faire un recordset
    qui me retourne la valeur de 2 champs (Order_Date et Sign_Date) de ma table Work_order...De cette façon, il me semblait plus facile de faire un test à fin de déterminer le statut de mes commandes "cmdview" et "open" (actif/inactif)...
    Je dois préciser que ma requète de formulaire est destinée à "lister" toutes les lignes de la table, une par une...Donc les lignes se suivent les unes aux autres dans le formulaire, comme dans un listing...Le problème est que tous les contrôles "cmdview" et "open" sont activés/désactivés en même temps...alors qu'ils devraient tenir compte du test pour leur statut,de façon individuelle,pour chaque ligne retournée...

    Voici mon code pour te faire une idée plus précise.....


    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Dim db As DAO.Database
    Dim myrst As DAO.Recordset
    Dim sign As Variant
    Dim ord As Variant
     
    Set db = CurrentDb
    myTable = "Work_order"
     
    sSQL = "SELECT Sign_Date,Order_Date from " & myTable & " ORDER BY Order_Date "
     
    Set myrst = db.OpenRecordset(sSQL)
     
    'si le recordset n'est pas vide
     If Not myrst.EOF Then
         ' tant qu'il n'est pas vide
         Do While Not myrst.EOF
     
            'recuperation de la valeur du champs
            sign = myrst.Fields("Sign_Date").Value
            ord = myrst.Fields("Order_Date").Value
     
            If ord <> "" Then
     
                Me.open.Enabled = False
     
                Else
     
                Me.open.Enabled = True
     
            End If
     
            If sign <> "" Then
     
                Me.cmdview.Enabled = True
     
                Else
     
                Me.cmdview.Enabled = False
     
            End If
     
            'passage a l'enregistrement suivant
            myrst.MoveNext
     
        Loop
    End If
     
    'fermeture/vider tout
    myrst.Close
    Set myrst = Nothing
    db.Close

    Peux-tu me dire ce qui cloche dans mon code,stp... merci d'avance...

  14. #14
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Quand tu auras tout dit

    Je n'ai pas regardé ton code, ce n'est pas nécessaire...

    Il n'est tout simplement pas possible de faire ce que tu demandes sur un formulaire continu...

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

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

    Une solution de contournement serait d'utiliser ces deux articles :

    La Mise en Forme Conditionnelle Illimitée sous Access
    De nouvelles listes pour vos formulaires Access

    Avec quelques connaissances en VBA Excel, c'est tout bon.

    Philippe

  16. #16
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour Philippe.

    J'ai bien pensé au contrôle OWC...

    Mais de là a inactiver un bouton de manière conditionnelle... Ce serait possible ?

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  17. #17
    Invité
    Invité(e)
    Par défaut
    Salut Domi

    Ce contrôle ce comporte comme une feuille Excel, tu peux après le remplissage de celle-ci (Avec un DoEvents à la fin) lancer une boucle de contrôle de couleur, et en fonction du résultat ou non désactivé un bouton.

    Ce contrôle ne comporte pas toutes les propriétés, mais suffisamment pour réaliser cela.

    Philippe

  18. #18
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bon...

    J'avais laissé ce tuto de côté...

    Il va falloir que je m'y mette sérieusement...

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  19. #19
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    Merci de tes conseils, je vais étudier les tutos et voir ce que je peux réaliser....
    Je te tiens au courant....

  20. #20
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    J'ai changé de stratégie... je me suis lancé dans les list box pour régler mon problème...j'obtiens ce que je désire.... enfin +ou-...

Discussions similaires

  1. changer la couleur d'une cellule après clic sur case à cocher
    Par zozoman dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/07/2013, 11h49
  2. [XL-2010] Recopier la couleur d'une cellule sur toute une ligne
    Par canary dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/08/2012, 14h15
  3. Réponses: 6
    Dernier message: 16/06/2009, 17h26
  4. Réponses: 18
    Dernier message: 29/02/2008, 11h41
  5. Récupérer la couleur d'une cellule excel par Delphi
    Par teamsebracing dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 05/06/2003, 14h50

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