• Initiateur de la discussion Initiateur de la discussion michel33
  • Date de début Date de début

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 !

M

michel33

Guest
Bonjour
Dans un classeur excel(97)j'ai 2 feuilles avec des liens hypertexte des cellules
de la feuille 1 vers les cellules de la feuille 2.Lorsque je clique sur une cellule
de la feuille 1 la macro selectionne la feuille 2 et fait clignoter la cellule
correspondante et enfin,retour vers la feuille 1;malheureusement,si je selectionne a
nouveau la meme cellule,le clignotement ne se fait pas.
Je pense que ça doit venir du mode de declaration de la macro;mais je ne vois pas
comment la modifier.

macro utilisée:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
For k = 1 To 7
For T = 1 To 300
Target.Interior.ColorIndex = 3
Next T
For T = 1 To 300
Target.Interior.ColorIndex = 2
Next T
If k = 7 Then
Target.Interior.ColorIndex = xlNone 'fond incolore
Target.Font.ColorIndex = 1 'caractères en noir
Worksheets('feuill1').Select
End If
Next k
End Sub

Un peu d'aide SVP
merci d'avance
michel33
 
Bonjour

Ton souci vient du fait que tu travail sur l'evenementielle selection_change, lorsque tu clique la premiere fois ta sélection dans ta feuille 2 change, et donc ta macro se met en route.

Par contre lors du deuxième appui sur le lien ta sélection de cellule est déjà faite (par le premier appui), donc ta macro ne se lance pas.

suis-je clair ??

voilà pour la problèmatique, je cherche la solution.

Salut
 
bonjour Herve
une inspiration subite,j'ai modifié la macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.range)
'Si l 'évènement concerne la plage g4......
If Intersect(Target, range('g4:i51,r3:s6,r9:s11,r14:t17,w4:ac9')) Is Nothing Then Exit Sub
For k = 1 To 7
For T = 1 To 300
Target.Interior.ColorIndex = 3
Next T
For T = 1 To 300
Target.Interior.ColorIndex = 2
Next T
If k = 7 Then
Target.Interior.ColorIndex = xlNone 'fond incolore
Target.Font.ColorIndex = 1 'caractères en noir
End If
Next k
range('a1').Select
Worksheets('stock').Select
End Sub

ça fonctionne,mais si tu as une solution plus elegante,je suis preneur
merci quand meme
michel33
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
762
Réponses
8
Affichages
387
Réponses
4
Affichages
276
Réponses
4
Affichages
721
Réponses
2
Affichages
238
Réponses
5
Affichages
899
Réponses
8
Affichages
774
Retour