Comment changer la couleur d'une zone de texte en fonction de la valeur dans Excel ?
Dans Excel, nous pouvons appliquer la fonction de mise en forme conditionnelle pour changer la couleur d'arrière-plan en fonction de la valeur de la cellule. Cependant, dans cet article, je vais expliquer comment changer la couleur d'une zone de texte en fonction de la valeur d'une cellule ou de la valeur dans la zone de texte.
Changer la couleur d'une zone de texte en fonction de la valeur d'une cellule avec un code VBA
Changer la couleur d'une zone de texte en fonction de la valeur d'une cellule avec un code VBA
Disons que si la valeur de la cellule A1 est supérieure à la valeur de la cellule B1, je souhaite que la zone de texte soit remplie de rouge. Au contraire, la zone de texte devrait être remplie de jaune. Veuillez suivre les étapes ci-dessous pour réaliser cette tâche :
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 :
2. Ensuite, faites un clic droit sur la zone de texte et sélectionnez Afficher le code dans le menu contextuel pour ouvrir la fenêtre Microsoft Visual Basic for Applications, puis remplacez le code original par le code VBA suivant dans le module vide :
Code VBA : Changer la couleur de la 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, A1 et B1 sont les deux cellules sur lesquelles vous souhaitez baser le changement de couleur de la zone de texte. Veuillez les modifier selon vos besoins.
3. Ensuite, enregistrez et fermez la fenêtre de code, et quittez le Mode Création. Maintenant, si la cellule A1 est supérieure à B1, lorsque vous tapez du texte dans la zone de texte, elle sera remplie de rouge. Si A1 est inférieur à B1, lors de la saisie d'une valeur dans la zone de texte, elle sera remplie de jaune, voir capture d'écran :
Changer la couleur d'une zone de texte en fonction de la valeur dans la zone de texte avec un code VBA
Si vous souhaitez changer la couleur de la zone de texte en fonction de la valeur dans la zone de texte, par exemple, lorsque la valeur dans la zone de texte est comprise entre 1 et 10, la couleur de remplissage 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, et si c'est une autre valeur, la couleur de la zone de texte est jaune. Pour accomplir 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, puis sélectionnez Afficher le code dans le menu contextuel pour ouvrir la fenêtre Microsoft Visual Basic for Applications, puis remplacez le code original par le code VBA suivant dans le module vide :
Code VBA : Changer la couleur de la zone de texte en fonction de la valeur dans 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
Remarque : Dans le code ci-dessus, Textbox1 est le nom de la zone de texte que vous avez insérée, et vous pouvez modifier les valeurs et la couleur d'arrière-plan dans le code selon vos besoins.
2. Ensuite, enregistrez et fermez la fenêtre de code, et quittez le Mode Création. Maintenant, si vous saisissez une valeur comprise entre 1 et 10 dans la zone de texte, sa couleur d'arrière-plan deviendra rouge ; pour une valeur comprise entre 11 et 20, la couleur d'arrière-plan de la zone de texte deviendra verte ; pour d'autres valeurs, elle deviendra jaune comme le montre la capture d'écran ci-dessous :
<
Articles connexes :
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 dans une zone de texte ?
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la 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 facilite grandement votre travail
- Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !