none
Problème avec visible = true or visible=false RRS feed

  • Question

  • Bonjour,

    J'ai 2 images sur mon formulaire [Formulaire des paiements-clients] "LumièreVertePaiements" et "LumièreRougePaiements".

    J'ai un champ [Texte516] dans lequel j'ai une expression de calcul qui soustrait les montants reçus, cela semble si simple mais pourtant, je ne peux rendre ces contrôles contrôlables, je m'exp^lique:

    Lors que j'ouvre mon formulaire, ma lumière rouge est visible et la verte pas visible, pas de problème

    J'ai placé ceode dans un bouton de paiement (Visa):

    With Forms![Formulaire des paiements-clients]
    .[LumièreRougePaiements].Visible = Not .[Texte516] <> 0
     .[LumièreVertePaiements].Visible = .[Texte516] = 0
     
    End With
    Requery

    Lorsque le champ  Texte516 tombe à zéro, la lumière verte est visible et la lumière rouge invisible, ça c'est ok, mais il arrive parfois que le montant reçu soit changé, donc, si j'ai une facture de 50$ et que 30$ est payé par visa, lorsque je presse le bouton visa, automatiquement le montant de 50$ s'inscrit, par contre, je le change pour 30$ afin d'entrer le 2e mode de paiement, donc le champ Texte 516 tombe à 20$

    Avec le code ci-dessus, lorsque le champ n'égale pas zéro, ne devrait-il pas y avoir la lumière rouge de visible et la verte invisible?

    Les choses si simple sont parfois les plus surprenantes.

    J'ai également essayé avec If, Else if      If et Else, je ne trouve pas la bonne combinaison pour que cela fonctionne.

    Merci et bonne journée

     

    Mais la lumière reste toujours verte

     


    Claude Larocque
    vendredi 13 mai 2011 16:29

Réponses

  • bonjour Claude,
     
    l'événement _AfterUpdate se produit uniquement lorsque tu entre une valeur manuellement.
    il faudrait ajouter "MesLumiere" dans la macro qui additionne et soustrait
     
    Sub MesLumiere()
      If Me.Texte516 = 0 Then
      Me.LumièreVertePaiements.Visible = True
      Me.LumièreRougePaiements.Visible = False
      Else
      Me.LumièreVertePaiements.Visible = False
      Me.LumièreRougePaiements.Visible = True
      Refresh
    End Sub
     --
    isabelle
     
    Le 2011-05-14 01:08, Claude Larocque a écrit :
    > Bonjour Isabelle,
    >
    > Les noms des contrôles sont LumièreVertePaiements et LumièreRougePaiements, tu vois lorsque je place ce code sur l'ouverture du formulaire:
    >
    > Me.LumièreRougePaiements.Visible = True
    > Me.LumièreVertePaiements.Visible = False
    >
    > Tout fonctionne, la lumière devient rouge.
    >
    > Si je place ce code:
    >
    > Me.LumièreRougePaiements.Visible = False
    >
    > Me.LumièreVertePaiements.Visible = True
    >
    > Tout fonctionne, la lumière devient verte.
    >
    > J'ai un champ nommé Texte516 qui additionne et soustrait certains autres champs, lorsqu'il reste une valeur dans ce champ, je veux que la lumière reste rouge, lorsque ce champ devient zéro, je veux que la lumière devienne verte.
    >
    > Pour ce faire dans la propriété après MAJ, j'ai placé ce code:
    >
    > Private Sub Texte516_AfterUpdate()
    >    If Me.Texte516 = 0 Then
    >    Me.LumièreVertePaiements.Visible = True
    >    Me.LumièreRougePaiements.Visible = False
    >    Else
    >    Me.LumièreVertePaiements.Visible = False
    >    Me.LumièreRougePaiements.Visible = True
    >    Refresh
    >   End Sub
    >
    > Mais rien ne bouge, mystère.
    >
    > Merci de t'attarder sur ce cas,
    >
    > Claude du Québec
    >
    > --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    > Claude Larocque
     
    samedi 14 mai 2011 12:25
  • Bonjour Isabelle,

    Merci beaucoup, ton code m'a diriger vers la solution tout fonctionne parfaitement.

    Si je pouvais voter 2 fois, je l'aurais fait.

    Bonne journée

     


    Claude Larocque
    samedi 14 mai 2011 17:06

Toutes les réponses

  • bonjour Claude,
     
    est ce que LumièreRougePaiements est la propriété Name du Control "Microsoft Forms xx Image" ?
     
    --
    isabelle
     
    Le 2011-05-13 12:29, Claude Larocque a écrit :
    > Bonjour,
    >
    > J'ai 2 images sur mon formulaire [Formulaire des paiements-clients] "LumièreVertePaiements" et "LumièreRougePaiements".
    >
    > J'ai un champ [Texte516] dans lequel j'ai une expression de calcul qui soustrait les montants reçus, cela semble si simple mais pourtant, je ne peux rendre ces contrôles contrôlables, je m'exp^lique:
    >
    > Lors que j'ouvre mon formulaire, ma lumière rouge est visible et la verte pas visible, pas de problème
    >
    > J'ai placé ceode dans un bouton de paiement (Visa):
    >
    > With Forms![Formulaire des paiements-clients]
    > .[LumièreRougePaiements].Visible = Not .[Texte516]<>  0
    >   .[LumièreVertePaiements].Visible = .[Texte516] = 0
    >
    > End With
    > Requery
    >
    > Lorsque le champ Texte516 tombe à zéro, la lumière verte est visible et la lumière rouge invisible, ça c'est ok, mais il arrive parfois que le montant reçu soit changé, donc, si j'ai une facture de 50$ et que 30$ est payé par visa, lorsque je presse le bouton visa, automatiquement le montant de 50$ s'inscrit, par contre, je le change pour 30$ afin d'entrer le 2e mode de paiement, donc le champ Texte 516 tombe à 20$
    >
    > Avec le code ci-dessus, lorsque le champ n'égale pas zéro, ne devrait-il pas y avoir la lumière rouge de visible et la verte invisible?
    >
    > Les choses si simple sont parfois les plus surprenantes.
    >
    > J'ai également essayé avec If, Else if If et Else, je ne trouve pas la bonne combinaison pour que cela fonctionne.
    >
    > Merci et bonne journée
    >
    > Mais la lumière reste toujours verte
    >
    > --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    > Claude Larocque
     
    samedi 14 mai 2011 03:07
  • Bonjour Isabelle,

    Les noms des contrôles sont LumièreVertePaiements et LumièreRougePaiements, tu vois lorsque je place ce code sur l'ouverture du formulaire:

    Me.LumièreRougePaiements.Visible = True
    Me.LumièreVertePaiements.Visible = False
    

    Tout fonctionne, la lumière devient rouge.

    Si je place ce code:

    Me.LumièreRougePaiements.Visible = False
    Me.LumièreVertePaiements.Visible = True

    Tout fonctionne, la lumière devient verte.

    J'ai un champ nommé Texte516 qui additionne et soustrait certains autres champs, lorsqu'il reste une valeur dans ce champ, je veux que la lumière reste rouge, lorsque ce champ devient zéro, je veux que la lumière devienne verte.

    Pour ce faire dans la propriété après MAJ, j'ai placé ce code:

    Private Sub Texte516_AfterUpdate()
      If Me.Texte516 = 0 Then
      Me.LumièreVertePaiements.Visible = True
      Me.LumièreRougePaiements.Visible = False
      Else
      Me.LumièreVertePaiements.Visible = False
      Me.LumièreRougePaiements.Visible = True
      Refresh
     End Sub

    Mais rien ne bouge, mystère.

     

    Merci de t'attarder sur ce cas,

    Claude du Québec


    Claude Larocque
    samedi 14 mai 2011 05:08
  • bonjour Claude,
     
    l'événement _AfterUpdate se produit uniquement lorsque tu entre une valeur manuellement.
    il faudrait ajouter "MesLumiere" dans la macro qui additionne et soustrait
     
    Sub MesLumiere()
      If Me.Texte516 = 0 Then
      Me.LumièreVertePaiements.Visible = True
      Me.LumièreRougePaiements.Visible = False
      Else
      Me.LumièreVertePaiements.Visible = False
      Me.LumièreRougePaiements.Visible = True
      Refresh
    End Sub
     --
    isabelle
     
    Le 2011-05-14 01:08, Claude Larocque a écrit :
    > Bonjour Isabelle,
    >
    > Les noms des contrôles sont LumièreVertePaiements et LumièreRougePaiements, tu vois lorsque je place ce code sur l'ouverture du formulaire:
    >
    > Me.LumièreRougePaiements.Visible = True
    > Me.LumièreVertePaiements.Visible = False
    >
    > Tout fonctionne, la lumière devient rouge.
    >
    > Si je place ce code:
    >
    > Me.LumièreRougePaiements.Visible = False
    >
    > Me.LumièreVertePaiements.Visible = True
    >
    > Tout fonctionne, la lumière devient verte.
    >
    > J'ai un champ nommé Texte516 qui additionne et soustrait certains autres champs, lorsqu'il reste une valeur dans ce champ, je veux que la lumière reste rouge, lorsque ce champ devient zéro, je veux que la lumière devienne verte.
    >
    > Pour ce faire dans la propriété après MAJ, j'ai placé ce code:
    >
    > Private Sub Texte516_AfterUpdate()
    >    If Me.Texte516 = 0 Then
    >    Me.LumièreVertePaiements.Visible = True
    >    Me.LumièreRougePaiements.Visible = False
    >    Else
    >    Me.LumièreVertePaiements.Visible = False
    >    Me.LumièreRougePaiements.Visible = True
    >    Refresh
    >   End Sub
    >
    > Mais rien ne bouge, mystère.
    >
    > Merci de t'attarder sur ce cas,
    >
    > Claude du Québec
    >
    > --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    > Claude Larocque
     
    samedi 14 mai 2011 12:25
  • Bonjour Isabelle,

    Merci beaucoup, ton code m'a diriger vers la solution tout fonctionne parfaitement.

    Si je pouvais voter 2 fois, je l'aurais fait.

    Bonne journée

     


    Claude Larocque
    samedi 14 mai 2011 17:06