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

Double VBA dans la même feuille

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Papy 100

XLDnaute Occasionnel
Bonjour le Forum et à tous et MERCI de me consacrer de votre temps.

Je joins au présent le fichier d'essai qui sera plus explicite qu'un long discours.

Encore MERCI de votre aide Patrick
 

Pièces jointes

Re : Double VBA dans la même feuille

Bonsoir.
Comme ça, ça a l'air pas mal:
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Coll As New Collection, Start As Single, I As Long, Cel As Range
If Me.[C6].Value >= 100 Then Coll.Add Me.[C6]
If Me.[J6].Value >= 200 Then Coll.Add Me.[J6]
If Coll.Count = 0 Then Exit Sub
Start = Timer
For I = 1 To 4   'Est égal aux nombre de clignotement
   For Each Cel In Coll
      Cel.Font.ColorIndex = 6   'couleur jaune
      Cel.Interior.ColorIndex = 3   'Couleur rouge
      Next Cel
   Do Until Timer > Start + 0.12: DoEvents: Loop: Start = Timer
   For Each Cel In Coll
      Cel.Font.ColorIndex = 1
      Cel.Interior.ColorIndex = xlNone
      Next Cel
   Do Until Timer > Start + 0.12: DoEvents: Loop: Start = Timer
   Next I
End Sub
Mais enlevez les mises en forme conditionnelles
 
Re : Double VBA dans la même feuille

Bonsoir à tous.


Une autre :​
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim n As Byte
Dim Start As Variant
Dim i As Integer
Dim Plg As Range
    Select Case ([C6] >= 100) + 2 * ([J6] >= 200)
        Case -1: Set Plg = [C6]
        Case -2: Set Plg = [J6]
        Case -3: Set Plg = Union([C6], [J6])
    End Select
    If Not Plg Is Nothing Then
        For i = 1 To 4   'Est égal aux nombre de clignotement
            Plg.Font.ColorIndex = 6   'couleur jaune
            Plg.Interior.ColorIndex = 3   'Couleur rouge
            For n = 1 To 10
                Start = Timer
                Do While Timer < Start + 1 / 100  'Est égal  à la rapidité du clignotement
                Loop
                If n Mod 5 = 0 Then
                    Plg.Interior.ColorIndex = xlNone  'Cells(1, 1) correspont à A1 - (K1 est 1, 11)
                    Plg.Font.ColorIndex = 1
                End If
            Next n
        Next i
    End If
End Sub


ROGER2327
#6894


Samedi 7 Haha 141 (Saint Prout, abbé - fête Suprême Quarte)
21 Vendémiaire An CCXXII, 9,5779h - chanvre
2013-W41-6T22:59:13Z
 
Re : Double VBA dans la même feuille

Bonjour ROGER 2327 - DRANRED et le Forum

Je suis content de savoir que vous vous occupez de mon problème.

Après avoir supprimé la macro d'origine dans mon fichier, j'ai copié les deux exemples (séparément) dans une nouvelle VBA mais pour l'une ou l'autre je n'arrive pas à les faire fonctionner. J'ai tenté tous ce que je connais mais en vain.

Pouvez vous, une fois encore, m'aider sur ce problème GRANDS MERCIS Patrick

PS je joins le fichier tel quel
 

Pièces jointes

Re : Double VBA dans la même feuille

Bonjour à tous.


À Papy 100 :
Les deux propositions fonctionnent, comme vous le verrez dans le classeur joint.​


ROGER2327
#6895


Dimanche 8 Haha 141 (Fête du Haha - fête Suprême Seconde)
22 Vendémiaire An CCXXII, 3,8476h - pêche
2013-W41-7T09:14:04Z
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
262
Réponses
15
Affichages
545
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…