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 :

utilisation de IF THEN couleur


Sujet :

Access

  1. #1
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut utilisation de IF THEN couleur
    bonjour,

    je voudrais utilisé if ...then pour un champ sur mon formulaire ....le champ devient rouge s'il contient le mot muté:

    nom du formulaire =Mouvement_Materiels
    nom du champ = Observations

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Observations_AfterUpdate()
     
      If Me.Observations = "muté" Then
        Me.Observations.BackColor = vbRed
    Else
        Me.Observations.BackColor = vbWhite
    End If
     
    End Sub





    cordialement.

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 817
    Points : 14 911
    Points
    14 911
    Par défaut
    bonsoir,
    si il contient le mot, ce n'est pas = qu'il faut utiliser ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Observations_AfterUpdate()
     
    If InStr(1, Me.Observations, "muté") > 0 Then
        Me.Observations.BackColor = vbRed
    Else
        Me.Observations.BackColor = vbWhite
    End If
     
    End Sub
    mais cela fonctionnera uniquement si le formulaire est en formulaire unique et après la mise à jour du champ, donc à la prochaine ouverture du formulaire, il ne sera modifié. Il vaut mieux utiliser la mise en forme conditionnelle, l'avantage c'est que cela fonctionne avec les 2 types de formulaires (uniques et continus)
    il faut choisir "Expression" dans la liste déroulante de "mettre en forme uniquement les cellules où" et dans la cellule suivante : DansChaîne(1;[Observations];"muté")>0

  3. #3
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    Bonjour, donc le mieux est de mettre juste (1;[Observations];"muté")>0 et choisir la couleur sans les if ni autre!!?
    Le champ utilisé n'est pas une liste déroulante ..dans ce champ on trouve par exemple muté tout cours ou bien .muté à xxx..etc .
    Autre question dans la dernière proposition on ne peux pas exécuté plusieurs conditions à titre d'exemple : dans le même champ ...muté en rouge .... nouveau recrutement en bleu...etc.
    Demain je testerai ..à plus tard
    Cordialement.

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 817
    Points : 14 911
    Points
    14 911
    Par défaut
    Autre question dans la dernière proposition on ne peux pas exécuté plusieurs conditions à titre d'exemple : dans le meme champ ...muté en rouge .... nouveau recrutement en bleu...etc.
    Oui c'est possible de mettre plusieurs conditions
    donc le mieux est de mettre juste (1;[Observations];"muté")>0 et choisir la couleur sans les if ni autre!!?
    que dire de plus ? à part voir le code que j 'ai mis en exemple

  5. #5
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    Bonjour,
    Pour DansChaîne(1;[Observations];"muté")>0. Ca fonctionne tandis que pour le code ca n'a pas fonctionné mais c'est ok puisque ca fonctionne.
    Merci pour le coup de mains.

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 817
    Points : 14 911
    Points
    14 911
    Par défaut
    Citation Envoyé par nouveau17 Voir le message
    Bonjour,
    Pour DansChaîne(1;[Observations];"muté")>0. Ca fonctionne tandis que pour le code ca n'a pas fonctionné mais c'est ok puisque ca fonctionne.
    Merci pour le coup de mains.
    l'exemple de code avec DansChaîne c'est pour la mise en forme conditionnelle ; l'autre, avec Instr (qui est la traduction US de DansChaîne) est à utiliser dans VBA

  7. #7
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    l'exemple de code avec DansChaîne c'est pour la mise en forme conditionnelle ; l'autre, avec Instr (qui est la traduction US de DansChaîne) est à utiliser dans VBA
    J'ai utilisé le code suivant dans le champ après maj.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Observations_AfterUpdate()
     
    If InStr(1, Me.Observations, "muté") > 0 Then
        Me.Observations.BackColor = vbRed
    Else
        Me.Observations.BackColor = vbWhite
    End If
     
    End Sub

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 817
    Points : 14 911
    Points
    14 911
    Par défaut
    J'ai utilisé le code suivant dans le champ après maj.
    et ???
    est-ce que cela fonctionne ?
    est-ce un formulaire continu ?
    de plus, je rappelle ce que j'ai dit plus haut à propos de la meilleure solution:
    Citation Envoyé par tee_grandbois
    mais cela fonctionnera uniquement si le formulaire est en formulaire unique et après la mise à jour du champ, donc à la prochaine ouverture du formulaire, il ne sera modifié. Il vaut mieux utiliser la mise en forme conditionnelle, l'avantage c'est que cela fonctionne avec les 2 types de formulaires (uniques et continus)

  9. #9
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    et ???
    est-ce que cela fonctionne ?
    est-ce un formulaire continu ?
    de plus, je rappelle ce que j'ai dit plus haut à propos de la meilleure solution:
    bonjour,

    comme vous avez dit ca fonctionne avec la mise en forme conditionnelle DansChaîne(1;[Observations];"muté")>0 et j'ai voulu aussi tester le code vba comme suit et ca ne fonctionne pas mais la forme conditionnelle suffit:

    Nom : codestr.png
Affichages : 237
Taille : 43,3 Ko

    cordialement.

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 817
    Points : 14 911
    Points
    14 911
    Par défaut
    bonjour,
    et j'ai voulu aussi tester le code vba comme suit et ca ne fonctionne pas mais la forme conditionnelle suffit
    il ne faut pas s'éterniser sur les solutions qui ne fonctionnent pas (encore une fois, comme je j'avais précisé pour le code VBA avec les formulaires continus).
    tu peux donc mettre la discussion en résolu

  11. #11
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour,
    il ne faut pas s'éterniser sur les solutions qui ne fonctionnent pas (encore une fois, comme je j'avais précisé pour le code VBA avec les formulaires continus).
    tu peux donc mettre la discussion en résolu
    merci encore.

  12. #12
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    l'exemple de code avec DansChaîne c'est pour la mise en forme conditionnelle ; l'autre, avec Instr (qui est la traduction US de DansChaîne) est à utiliser dans VBA
    bonjour,

    dans ce cas il colore la il y a le mot muté.

    dans un autre cas je voudrai qu'il respecte la casse : payé OU NonPayé dans le champ [Paiement]

    dans l'expression DansChaîne(1;[Paiement];"Payé")>0 le résultat sera juste Payé pas les deux !!!!

    merci.

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 817
    Points : 14 911
    Points
    14 911
    Par défaut
    bonjour,
    pour respecter la casse, il faut ajouter le paramètre de comparaison en mettant 0 (comparaison binaire):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DansChaîne(1;[Paiement];"Payé";0)>0

  14. #14
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour,
    pour respecter la casse, il faut ajouter le paramètre de comparaison en mettant 0 (comparaison binaire):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DansChaîne(1;[Paiement];"Payé";0)>0
    bonjour,

    même résultat ca me donne les deux payé et nonpayé.

    merci

  15. #15
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 817
    Points : 14 911
    Points
    14 911
    Par défaut
    bonjour,
    même résultat ca me donne les deux payé et nonpayé.
    désolé, mais la réponse n 'est pas claire
    dans un autre cas je voudrai qu'il respecte la casse : payé OU NonPayé dans le champ [Paiement]
    est-ce que tu veux que le système fasse la différence entre payé et Payé ou est-ce autre chose ?

  16. #16
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    Bonjour,
    Dans mes lignes dans le champs paiement il ya le mot payé et d'autres nonpayé.
    Dans l'expression precedente je voudrai afficher en couleur que je le champ payé sans les autres nonpayé ce dernier reste blanc.
    Voila le résultat que j'ai pour le moment les deux mots sont affichés en couleur.

  17. #17
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour,
    pour respecter la casse, il faut ajouter le paramètre de comparaison en mettant 0 (comparaison binaire):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DansChaîne(1;[Paiement];"Payé";0)>0

  18. #18
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 817
    Points : 14 911
    Points
    14 911
    Par défaut
    bonjour,
    Dans mes lignes dans le champs paiement il ya le mot payé et d'autres nonpayé.
    si Paiement ne peut avoir qu'une des 2 valeurs, dans ce cas il faut regarder le résultat de la recherche qui renvoie la position de la chaine testée:

    si Paiement = "Payé"
    DansChaîne(1;[Paiement];"Payé") renverra 1 car la chaîne recherchée commence au 1er caractère dans Paiement

    si Paiement = "NonPayé"
    DansChaîne(1;[Paiement];"Payé") renverra 4 car la chaîne recherchée commence au 4ème caractère dans Paiement

    Donc, pour mettre en couleur quand c'est "Payé" il faut cette ligne:
    DansChaîne(1;[Paiement];"Payé") = 1

    et quand c'est "NonPayé" pour laisser en blanc:
    DansChaîne(1;[Paiement];"Payé") = 4
    ou également:
    DansChaîne(1;[Paiement];"NonPayé") = 1

    à faire avec la mise en forme "Expression"

  19. #19
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    Merci beaucoup ca fonctionne parfaitement .

  20. #20
    Membre habitué
    Homme Profil pro
    administartion
    Inscrit en
    Avril 2017
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2017
    Messages : 349
    Points : 135
    Points
    135
    Par défaut
    bonjour,

    je voudrai savoir si c'est possible d'utilisé :
    DansChaîne(1;[AU];"ven") = 1 en sachant que ven est dans le format du champ cordialement.
    Nom : vendredicouleur.png
Affichages : 188
Taille : 39,5 Ko

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Comment utiliser 2 bandes LED couleur ?
    Par keokaz dans le forum Arduino
    Réponses: 3
    Dernier message: 26/12/2021, 21h42
  2. Réponses: 4
    Dernier message: 18/09/2017, 11h19
  3. [blkproc] Utilisation sur des images couleur
    Par Imène_23 dans le forum Images
    Réponses: 8
    Dernier message: 05/01/2013, 19h25
  4. [MFC] Utilisation d'image en couleur 32 bits
    Par vanitom dans le forum MFC
    Réponses: 1
    Dernier message: 03/08/2005, 11h13
  5. [MFC] Utilisation d'une palette de couleur
    Par Kevgeii dans le forum MFC
    Réponses: 2
    Dernier message: 01/06/2005, 17h35

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