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

Macros et VBA Excel Discussion :

Couleur OptionButton modifiée selon critère TextBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut Couleur OptionButton modifiée selon critère TextBox
    Bonsoir à tous,

    Nouveau sur le Forum et novice en VBA donc je fais appel à des âmes charitables et experts en la matière pour venir à mon aide. J'espère être dans la bonne rubrique dans cette jungle de discussion/dossiers trop important en volume.

    Mon idée :
    Selon la valeur de saisie je mets un voyant vert dans OptionButton pour dire c'est ok tu es bien dans l'intervalle [-0.5 ; +0.5] sinon je mets un voyant d'attention de couleur rouge pour signaler un soucis (les MessageBox ne m'intéressent pas).

    Mon problème :
    Je souhaiterais changer la couleur d'un OptionButton. Le OptionButton.BackColor colorie en fait la mosaïque de fond du bouton (forme carrée), chose dont je ne veux point, mais c'est l'intérieur qui m'intéresse ( je ne sais pas si c'est suffisamment parlant). Je souhaite à partir d'une valeur de TextBox venir modifié la couleur du OptionButton.???? (la couleur interne, le ForeColor???). Mon OptionButton servira uniquement à faire office de témoin vert ou rouge.

    Exemple :
    si la valeur dans TextBox.value (ou .text) > -0.5 and TextBox.value < 0.5 then OptionButton.??? = couleur du vert peut être RGB (0 , 255, 0)
    sinon OptionButton.???? = rouge (je demande si la syntaxe n'est plutôt pas val(TextBox.value) > -0.5 etc...



    Alors j'espère que je suis clair.

    Merci d'avance pour votre aide.

    Au plaisir de vous lire.

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    (je demande si la syntaxe n'est plutôt pas val(TextBox.value) > -0.5 etc...
    et tu n'as pas essayé ?, je te confirme qu'un TextBox renvoie du texte
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    Merci CaseFayere,

    si bien sur j'ai essayé mais aucune action dans le OptionButton.forecolor ou même OptionButton.backcolor.
    D'où première mon doute quant à la syntaxe du val(textbox.value) ou textbox.value ou textbox.text.
    Mon second doute est il possible du coup de changer la couleur de optionbutton ?...

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    bonjour,
    je ne suis pas censé analyser tout ton code mais le problème qui te préoccupe,
    cette procédure est la bonne (vérifiée)
    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
    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim valeur As Currency
    valeur = TextBox1
    If valeur >= -0.5 And valeur <= 0.5 Then
      Image1.Visible = False 'blanc
      Image2.Visible = True 'vert
      Image3.Visible = False 'rouge
    ElseIf valeur < -0.5 Or valeur > 0.5 Then
      Image1.Visible = False
      Image2.Visible = False
      Image3.Visible = True
    Else
      Image1.Visible = True
      Image2.Visible = False
      Image3.Visible = False
    End If
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Me.TextBox1=Replace(Me.TextBox1, ".", ",")
    If InStr("1234567890-,", Chr(KeyAscii)) = 0 Then KeyAscii = 0
     
     
    End Sub
    je t'avais dit que j'ai enlevé çaun cadeau pour baliser ton code http://club.developpez.com/aidenouve...es/Balises.gif
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    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
    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Cancel = False
     
    If Val(TextBox1.Value) >= -0.5 And Val(TextBox1.Value) <= 0.5 And TextBox1.text <> "" And TextBox1.text <> ".-" And TextBox1.text <> "-." And ComboBox2.text = "TRANSFOC" Then
      Image1.Visible = False
      Image2.Visible = True
      Image3.Visible = False
    ElseIf (Val(TextBox1.Value) < -0.5 Or Val(TextBox1.Value) > 0.5) And TextBox1.text <> "" Or TextBox1.text = "-." Then
      Image1.Visible = False
      Image2.Visible = False
      Image3.Visible = True
      Cancel = True
    Else
      Image1.Visible = True
      Image2.Visible = False
      Image3.Visible = False
    End If
    End Sub
    fonctionne mieux à présent c'était bien une histoire de type de variable. Je ne veux pas que l'utilisateur puisse saisir un -. ou un .- qui n'a pas de sens dans mon application. Ainsi les voyants s'allument bien.

    Par contre le cancel je m'en sert finalement je n'ai pas trouvé mieux mais lorsque je me trouve dans le ElseIf tant que je suis dans mes critères du if alors je ne sors pas de la textbox1. dans ce cas mon voyant est au rouge

    Merci en tout cas.

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    je regarderai dès que possible car là je ne saurai te répondre

    j'y pense, plutôt qu'un OptionButton, n'as-tu pas aussi court d'inserer une forme (un cercle) que tu pourras remplir ? car apparemment, ce que tu demande n'est pas possible
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    je regrette, chez moi cette instruction, au hasard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Val(TextBox1.Value)
    quand je rentre un nombre décimal me renvoie que la partie entière, c'est pourquoi je préconisai de passer par la variable "As Currency" et as-tu essayé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Me.TextBox1=Replace(Me.TextBox1, ".", ",")
    If InStr("1234567890-,", Chr(KeyAscii)) = 0 Then KeyAscii = 0
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  8. #8
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    Non ça ne marche pas


    Nom : Capture d’écran 2016-06-03 à 18.01.56.png
Affichages : 164
Taille : 41,9 Ko

  9. #9
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    Insérer un cercle. Boudiou, je ne sais pas où le trouver.

  10. #10
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    tu veux cette forme sur une feuille ou un usf ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  11. #11
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    sur un USerForm

  12. #12
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    quoi ? le code dans "TextBox1_KeyPress" eh bien rien ne fonctionne comme chez moi, je n'ai aucun problème, je peux même te proposer encore autre chose, dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Sub separateur()
    sepdec = Application.International(xlDecimalSeparator)
    End Sub
    pour le textbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    separateur
    If Chr(KeyAscii) = "." Or Chr(KeyAscii) = "," Then KeyAscii = Asc(sepdec)
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  13. #13
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    Attends la je décroche. Je répète je suis nul en excel je n'y connais rien et je commence le programme depuis mercredi. avec le peu d'expérience je m'en sors honorablement.

    Je ne comprends pas pourquoi nous partons sur du contrôle de saisie ? Si tu penses que le contrôle de saisie est en relation avec mon problème je peux toujours tenter ton indication. Alors j'essaye à nouveau avec ta méthode.

  14. #14
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    Je pleure ... et j'en rigole ... non ça ne marche pas chez moi. Je suis sous excel 2011 sous mac et au taff c'est du windobe en excel 2013
    Doit on s'acharner sur le détail du valeur As currency ? malgré le côté hasardeux dans ton msgBox via Val(textbox1.value)


    Nom : Capture d’écran 2016-06-03 à 18.23.26.png
Affichages : 143
Taille : 284,8 Ko

  15. #15
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    je bien envoyer mon code mais par courriel non ?

  16. #16
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    je vais regarder mais en ce moment je pense que le mieux est d'inserer 2ou 3 images (un cercle dimensionné blanc, par exemple, rouge, vert) tu les superposent, voir l'option visible = true ou false suivant les conditions requises, mais des essais sont à faire
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  17. #17
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    Ok CaseFayere, je tenterai par la méthode des images, mais je risque de programmer comme un boeuf.

    Sinon il me reste le labelBox (OK en vert et KO en rouge). L'optionbutton est plus du cosmétique mais dommage...



    (ps : en parlant d'images sympa ta photo de cépounets...)

  18. #18
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    je regardes actuellement pour intégrer une forme (un cercle sans remplissage) qu'on pourra remplir en fonction, ce n'est pas garanti.

    eh oui, les champipi sont une récolte
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  19. #19
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    Oulala, c'est déjà beaucoup de m'avoir aiguillé. Je regarde tout ça demain, la je sature un peu. Et puis je débute il faut bien chercher un peu.

    Dans tous les cas : merci CaseFayere !




    (Champis, j'en trouve pas mal en octobre : grand amateur)

  20. #20
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    j'ai l'mpression que tu ne mets pas tes codes au bon endroit, donc je répète mon avant dernier message
    à ce stade, il serait plus efficace que tu envoies un fichier structuré de la même façon mais avec des données bidon
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. [SSRS]Changer des couleures selon critères
    Par Lyche dans le forum SSRS
    Réponses: 1
    Dernier message: 22/07/2008, 17h56
  2. [C#] Changer la couleur de sélection d'une textbox
    Par padodanle51 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/04/2006, 17h23
  3. Réponses: 1
    Dernier message: 24/03/2006, 10h20
  4. modification couleur de fond d'un textbox
    Par zeby dans le forum IHM
    Réponses: 3
    Dernier message: 01/02/2006, 18h24
  5. Réponses: 3
    Dernier message: 21/06/2005, 08h25

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