Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

Comment changer la couleur de la zone de texte en fonction de la valeur dans Excel?

Dans Excel, nous pouvons appliquer la fonction de mise en forme conditionnelle pour modifier la couleur d'arrière-plan en fonction de la valeur de la cellule, mais, dans cet article, je vais expliquer comment modifier la couleur de la zone de texte en fonction de la valeur de la cellule ou de la valeur dans la zone de texte.

Changer la couleur de la zone de texte en fonction de la valeur de la cellule avec le code VBA

Changer la couleur de la zone de texte en fonction de la valeur dans la zone de texte avec le code VBA


flèche bleue bulle droite Changer la couleur de la zone de texte en fonction de la valeur de la cellule avec le code VBA


Disons que si la valeur de la cellule dans A1 est supérieure à la valeur de la cellule dans B1, je veux que la zone de texte soit remplie de couleur rouge, au contraire, la zone de texte doit être remplie de couleur jaune. Veuillez réaliser ce travail avec les étapes suivantes:

1. Insérez une zone de texte en cliquant sur Développeur > insérer > Zone de texte (contrôle ActiveX), puis dessinez une zone de texte, voir capture d'écran:

couleur de la zone de texte doc basée sur la valeur 1

2. Cliquez ensuite avec le bouton droit de la souris sur la zone de texte et sélectionnez Voir le code dans le menu contextuel pour ouvrir le Microsoft Visual Basic pour applications fenêtre, puis remplacez le code d'origine par le code VBA suivant dans le module vide:

Code VBA: modifiez la couleur de la zone de texte en fonction des valeurs de cellule:

Private Sub TextBox1_Change()
    If ActiveSheet.Range("A1").Value > ActiveSheet.Range("B1").Value Then
        Me.TextBox1.BackColor = vbRed
    Else
        Me.TextBox1.BackColor = vbYellow
    End If
End Sub

couleur de la zone de texte doc basée sur la valeur 2

Notes: Dans le code ci-dessus, Zone de texte1 est le nom de la zone de texte que vous avez inséré, A1 et B1 sont les deux cellules sur lesquelles vous souhaitez modifier la couleur de la zone de texte, veuillez les modifier selon vos besoins.

3. Ensuite, enregistrez et fermez la fenêtre de code, puis quittez le Mode de conception, maintenant, si la cellule A1 est supérieure à B1, lorsque vous tapez du texte dans la zone de texte, elle sera remplie de couleur rouge, et si A1 est inférieure à B1, lors de la saisie de la valeur dans la zone de texte, elle sera remplie de couleur jaune, voir capture d'écran:

couleur de la zone de texte doc basée sur la valeur 3


flèche bleue bulle droite Changer la couleur de la zone de texte en fonction de la valeur dans la zone de texte avec le code VBA

Si vous souhaitez modifier la couleur de la zone de texte en fonction de la valeur de la zone de texte, par exemple, lorsque la valeur de la zone de texte est comprise entre 1 et 10, la couleur remplie de la zone de texte est rouge, la couleur de la zone de texte est verte si la valeur est comprise entre 11 et 20, si est autres valeurs, la couleur de la zone de texte est jaune. Pour traiter cette tâche, veuillez appliquer le code VBA ci-dessous.

1. Après avoir inséré une zone de texte, faites un clic droit dessus et sélectionnez Voir le code dans le menu contextuel pour ouvrir le Microsoft Visual Basic pour applications fenêtre, puis remplacez le code d'origine par le code VBA suivant dans le module vide:

Code VBA: modifiez la couleur de la zone de texte en fonction de la valeur de la zone de texte:

Private Sub TextBox1_Change()
    On Error Resume Next
    Select Case TextBox1.Value
        Case 1 To 10:
            TextBox1.BackColor = vbRed
        Case 11 To 20:
            TextBox1.BackColor = vbGreen
        Case Else:
            TextBox1.BackColor = vbYellow
    End Select
End Sub

couleur de la zone de texte doc basée sur la valeur 4

Notes: Dans le code ci-dessus, Zone de texte1 est le nom de la zone de texte dans laquelle vous êtes inséré et vous pouvez modifier les valeurs et la couleur d'arrière-plan du code par les vôtres.

2. Ensuite, enregistrez et fermez la fenêtre de code, puis quittez le Mode de conception, maintenant, si vous entrez la valeur entre 1 et 10 dans la zone de texte, sa couleur d'arrière-plan deviendra rouge, la valeur entre 11 et 20, la couleur d'arrière-plan de la zone de texte deviendra verte, d'autres valeurs, elle deviendra jaune comme illustré ci-dessous:

couleur de la zone de texte doc basée sur la valeur 5


Articles Liés:

Comment insérer une image dans la zone de texte?

Comment définir une valeur par défaut dans une zone de texte?

Comment autoriser uniquement la saisie de nombres dans la zone de texte?

Comment appliquer la vérification orthographique dans la zone de texte?


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Stefan · 4 years ago
    Nevermind, I figured it out. Instead of making the event which triggers the change "Textbox1_GotFocus()", I made it "Worksheet_SelectionChange(ByVal Target As Range)". Now any time the value in one of the cells changes, the textbox color changes automatically.
  • To post as a guest, your comment is unpublished.
    Stefan · 4 years ago
    For me, when trying to change the textbox color value based on two cell values, the textbox only updates if you type something into the textbox. I need it to update automatically. Guess I'll just have to learn VBA to figure out why.
  • To post as a guest, your comment is unpublished.
    Justin · 4 years ago
    Can someone provide an example workbook so I can see this working? I keep trying but to no avail. Thanks