Comment modifier la couleur d’une zone de texte en fonction d’une valeur dans Excel ?
Dans Excel, nous pouvons appliquer la fonction Utiliser la mise en forme conditionnelle pour modifier le Couleur de fond en fonction de la valeur d’une cellule. Toutefois, dans cet article, je vais expliquer comment modifier la couleur d’une zone de texte en fonction de la valeur d’une cellule ou de la valeur contenue dans la zone de texte elle-même.
Modifier la couleur d’une zone de texte en fonction de la valeur d’une cellule à l’aide d’un code VBA
Supposons que, si la valeur de la cellule A1 est supérieure à celle de la cellule B1, vous souhaitiez que la zone de texte soit remplie en rouge ; sinon, qu’elle soit remplie en jaune. Pour réaliser cette mise en forme conditionnelle, suivez les étapes ci-dessous :
1. Insérez une zone de texte en cliquant sur Développeur > Insérer > Zone de texte (contrôle ActiveX), puis dessinez la zone souhaitée. Voir la capture d’écran :

2. Cliquez ensuite avec le bouton droit sur la zone de texte, puis sélectionnez Afficher le code dans le menu contextuel pour ouvrir la fenêtre Microsoft Visual Basic pour Applications. Remplacez ensuite le code d’origine par le code VBA suivant dans le module vierge :
Code VBA : Modifier la couleur d’une zone de texte en fonction des valeurs des cellules :
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

Remarque : Dans le code ci-dessus, TextBox1 est le nom de la zone de texte que vous avez insérée, et A1 et B1 sont les deux cellules à partir desquelles vous souhaitez modifier la couleur de la zone de texte. Adaptez-les selon vos besoins.
3. Ensuite, sauvegardez et fermez la fenêtre de code, puis quittez le mode Conception. Désormais, dès que vous saisirez du texte dans la zone : si la cellule A1 est supérieure à B1, celle-ci se remplira automatiquement en rouge ; si A1 est inférieure à B1, elle deviendra jaune. Voir la capture d’écran :

Modifier la couleur d’une zone de texte en fonction de la valeur qu’elle contient à l’aide d’un code VBA
Si vous souhaitez que la couleur de la zone de texte s’adapte automatiquement à la valeur qu’elle contient — rouge si la valeur est comprise entre 1 et 10, verte entre 11 et 20, et jaune pour toute autre valeur — appliquez le code VBA ci-dessous pour réaliser cette mise en forme dynamique.
1. Après avoir inséré une zone de texte, cliquez dessus avec le bouton droit et sélectionnez Afficher le code dans le menu contextuel pour ouvrir la fenêtre Microsoft Visual Basic pour Applications, puis remplacez le code d’origine par le code VBA suivant dans le module vierge :
Code VBA : Modifier la couleur d’une zone de texte en fonction de la valeur qu’elle contient :
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

Remarque : Dans le code ci-dessus, Textbox1 est le nom de la zone de texte que vous avez insérée. Vous pouvez adapter les valeurs ainsi que la couleur de fond dans le code selon vos besoins.
2. Ensuite, sauvegardez et fermez la fenêtre de code, puis quittez le mode Conception. Désormais, si vous saisissez une valeur comprise entre 1 et 10 dans la zone de texte, sa couleur de fond deviendra rouge ; si la valeur est comprise entre 11 et 20, la couleur de fond de la zone de texte deviendra verte ; pour toute autre valeur, elle deviendra jaune, comme illustré dans la capture d’écran suivante :

<
Articles associés :
Comment insérer une image dans une zone de texte ?
Comment définir une valeur par défaut dans une zone de texte ?
Comment autoriser uniquement la saisie de chiffres dans une zone de texte ?
Comment appliquer la vérification orthographique à une zone de texte ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez 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 vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels