Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Changer la couleur de fond cellule après une recherche

AIXELS

XLDnaute Occasionnel
Bonjour à tous les amis du Forum.
Mon problème est le suivant :
Faire une recherche dans le tableau en VBA.
Une fois la donnée trouvée, faire changer la
couleur du fond 2 ou 3 fois pour attirer l'attention

ensuite remettre le fond dans sa couleur initiale.
Merci pour aide.
Bien cordialement.
 

Pièces jointes

  • FAIRE CLIGNOTER CELLULE.xlsm
    47.4 KB · Affichages: 17
Dernière édition:

Dranreb

XLDnaute Barbatruc
Eh bien affectez par un Set l'évaluation de la méthode Find à votre variable As Range au lieu d'exécuter sa méthode Select ou Activate, qui planterait, d'ailleurs, si la méthode Find renvoie Nothing.
 
Dernière édition:

AIXELS

XLDnaute Occasionnel
Bonjour à tous les amis du Forum.
J'ai trouvé ça aussi, si ça intéresse quelqu'un.

VB:
'Attribute VB_Name = "CelluleClignotante5"
'faire clignoter la cellule active un certain nombre de fois puis arrêter

'procédure à appeler dans le code
Sub InitFlash()
'lance un clignotement toutes les secondes
    Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End Sub


Sub Flash()
    Static i

    i = i + 1

    'le clignotement
    If ActiveCell.Interior.ColorIndex = 6 Then
        ActiveCell.Interior.ColorIndex = 3    'fond rouge
        ActiveCell.Font.ColorIndex = 6    'caractères en jaune
    Else
        ActiveCell.Interior.ColorIndex = 6    'fond jaune
        ActiveCell.Font.ColorIndex = 3    'caractères en rouge
    End If

    'tant que le nombre de clignotements choisi n'est pas atteint
    '(ici 2) on continue
    If i <= 2 Then
        Application.OnTime Now + TimeValue("00:00:01"), "Flash"
    Else
        'sinon, on revient à la mise ne forme par défaut d'Excel
        'et on arrête tout
        ActiveCell.Interior.ColorIndex = xlNone    'fond incolore
        ActiveCell.Font.ColorIndex = 1    'caractères en noir
        i = 0
    End If
End Sub

Pour le lancer :
VB:
call InitFlash()

Bonne journée à tous.
Bien cordialement.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…