Tuto Excel : faire clignoter un texte dans une cellule
Rédigé par Hanane Mouqqadim, Publié le 31 Mai 2021, Mise à jour le Lundi, 31 Mai 2021 22:02![](/images/thumb/29/id-3839.png)
Parfois,nous cherchons à rendre une certaine cellule exceptionnelle et attrayante. Cela permet d’attirer l’attention des utilisateurs d’une feuille de calcul sur le contenu d’une cellule spécifique. Parmi les astuces que nous pouvons penser à faire, nous nous intéressons aujourd’hui à faire clignoter le remplissage de la cellule souhaité ! Dans ce tutoriel, nous vous montrerons la méthode efficace de clignotement du contenu d'une cellule Excel spécifiée.
Si vous essayez de créer cet effet à l‘aide de Microsoft Word, vous pouvez le faire rapidement pour les versions antérieures à 2007. Cela peut être achevé en cliquant sur l’option « Arrière-plan clignotant » des effets de texte. Cela semble agréable et très facile à réaliser. Cependant, ce n’est pas la même chose dans Microsoft Excel. Il faut dire qu’Excel n’intègre aucune option ou fonctionnalité de police vous permettant d’appliquer un tel effet en un clic. Cependant, il existe toujours des solutions de contournement en utilisant le Visual Basic. Vous pouvez alors penser à créer une macro qui modifie la couleur de police ou du remplissage dans une portion de temps spécifique, faisant ainsi clignoter votre cellule.
Utiliser le VBA pour faire clignoter une cellule dans Excel
La création d’un effet de clignotement sur Excel est en fait, un peu compliqué et nous oblige à plonger dans la programmation VBA. Pour illustrer le processus, considérons l’exemple suivant.
Nous avons une cellule indiquant qu’il y a une promotion sur un produit et nous souhaitons la faire clignoter pour une meilleure visibilité. Pour ce faire, suivez les étapes ci-dessous :
- Pour commencer, allez sur l'onglet « Développeur » dans le ruban, puis cliquez sur « Visual Basic » dans le groupe « Code ».
- Faites un clic droit que « VBAProject » dans l'arborescence de gauche et sélectionnez « Insertion » puis « Module » comme indiqué dans la capture ci-dessous.
- Ensuite, copier-coller le code VBA suivant dans la zone d’édition de code du module créé.
Sub Clignoter()
Dim cellule As Range
Dim Duree As Variant
On Error Resume Next
Set cellule = Range("Feuil1!C3")
On Error Resume Next
If cellule.Interior.Color = vbRed Then
cellule.Interior.Color = xlColorIndexNone
Else
cellule.Interior.Color = vbRed
End If
Duree = Now + TimeSerial(0, 0, 1)
Application.OnTime Duree, "'" & ThisWorkbook.Name & "'!Clignoter", , True
End Sub
- Vous pouvez maintenant fermer la fenêtre d’éditeur Visual Basic pour Applications.
- L’étape suivante consiste à insérer un bouton qui nous permettra de démarrer le clignotement. Pour ce faire, allez à nouveau sur l’onglet « Développeur » puis cliquez sur « Insérer » dans le groupe des contrôles.
- Cliquez sur l'option « Bouton (contrôle de formulaire) » comme indiqué dans la capture ci-dessous.
- Cliquez sur votre feuille de calcul à l’emplacement où vous souhaitez mettre le bouton.
- Ainsi, la boîte de dialogue « Affecter une Macro » apparaîtra. Sélectionnez la macro que nous venons de créer « Clignoter ».
- Cliquez sur « OK » pour terminer.
- Le bouton apparaît sur votre feuille de calcul avec le texte par défaut. Pour le modifier, faites un clic droit dessus et sélectionnez « Modifier le texte ».
- Ensuite, tapez un texte plus descriptif pour le bouton, comme « Clignoter ».
Maintenant, lorsque vous cliquez sur le bouton, l’arrière-plan de la cellule C3 commence à clignoter. Ainsi, le remplissage de la cellule C3 passe du rouge au normal ou vice versa.
Expliquons le code VBA utilisé :
- Dans le code VBA ci-dessus, « Feuil1 » et « C3 » indiquent que le remplissage la cellule C3 de la feuille de calcul « Feuil1 » sera clignoté dans le classeur actuel. Vous pouvez modifier ces valeurs pour désigner la cellule que vous voulez clignoter dans votre cas.
- If cellule.Interior.Color = vbRed Then : cette ligne teste si la cellule C3 à une couleur de remplissage rouge :
-
- Si oui, nous exécutons la ligne cellule.Interior.Color = xlColorIndexNone qui permet de rétablir la couleur de remplissage sur « Aucun ».
- Sinon, nous exécutons la ligne cellule.Interior.Color = vbRed pour rendre le remplissage rouge.
- Ensuite, nous utilisons la ligne de code Duree = Now + TimeSerial(0, 0, 1) pour définir la variable « Duree » sur l'heure actuelle plus une seconde « TimeSerial (0,0,1) ».
- Application.OnTime Duree, "'" & ThisWorkbook.Name & "'!Clignoter", , True : finalement, nous configurons la macro pour être appelée à nouveau dans une seconde en utilisant la méthode « OnTime » de l’application. En d’autres termes, cela permet à la macro de se lancer toutes les secondes.