changer couleur en jaune cellule active puis retablir

  • Initiateur de la discussion Initiateur de la discussion sri75
  • 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 !

sri75

XLDnaute Occasionnel
Bonjour,

Après une heure de recherche sur les différents fils, je m'avoue vaincu et je sollicite votre aide.

je cherche a faire un chose simple, quand une cellule devient active elle se colore en jaune et quand elle ne l'est plus elle redevient blanche.

je voudrais que cette macro s'applique a toute les feuilles de mon classeur.

Au vu des exemples du forum ça semble simple mais impossible d'y arriver.

Dans mon fichier joint je n'arrive qu'a colorier le tour de la cellule active en rouge et que pour la feuille 1.

Merci à tous pour votre aide
 

Pièces jointes

Re : changer couleur en jaune cellule active puis retablir

bonjour sri75
en attendant mieux ....pas trop de temps pour approfondir

Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal T As Range)
 Static c As Range
 If Not c Is Nothing Then c.Interior.ColorIndex = xlNone: T.Interior.ColorIndex = 6
 Set c = T
End Sub
 
Re : changer couleur en jaune cellule active puis retablir

Bonjour,
Salut Laetitia🙂
regarde peut être le fichier joint, dans le module "thisworkbook" :
Code:
Option Explicit
Dim c As Range
Private Sub Workbook_Open()
Set c = ActiveCell
c.Interior.ColorIndex = 6
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
c.Interior.ColorIndex = xlNone
Target.Interior.ColorIndex = 6
Set c = Target
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
c.Interior.ColorIndex = xlNone
ActiveCell.Interior.ColorIndex = 6
Set c = ActiveCell
End Sub

bon après midi
@+
 

Pièces jointes

Re : changer couleur en jaune cellule active puis retablir

Merci également, c'est plus complexe mais ça marche très bien, la réponse de laetitia était plus simple mais avait un défaut dont je viens de me rendre compte, à l'ouverture du fichier le premier déplacement de cellule n’entraînait pas le changement de couleur, il fallait un deuxième déplacement.

Une idée la dessus ?

Bonne journée

A l'enregistrement du fichier du Pierrot j'ai un message d'avertissement sur les active X, peut on faire en sorte qu'il n'apparaisse pas ?
 
Re : changer couleur en jaune cellule active puis retablir

Re,

sinon dans les options => centre de gestion de la confidentialité => bouton "paramètres du centre de gestion de la confidentialité" => tu décoches "supprimer les informations personnelles..."
 
Re : changer couleur en jaune cellule active puis retablir

Je me permets de revenir vers vous pour une petite amélioration :

Si la cellule qui devient active avait une couleur particulière avant d'être sélectionnée et de devenir jaune, je voudrais qu'elle retrouve sa couleur d'origine quand le curseur et déplacé vers une autre cellule.

Merci d'avance
 
Re : changer couleur en jaune cellule active puis retablir

Re,

modifie peut être comme suit :
Code:
Option Explicit
Dim c As Range, i As Variant
Private Sub Workbook_Open()
Set c = ActiveCell
i = ActiveCell.Interior.ColorIndex
c.Interior.ColorIndex = 6
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
c.Interior.ColorIndex = i
i = Target.Interior.ColorIndex
Target.Interior.ColorIndex = 6
Set c = Target
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
c.Interior.ColorIndex = i
i = ActiveCell.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = 6
Set c = ActiveCell
End Sub
 
Re : changer couleur en jaune cellule active puis retablir

Bonjour,

Restitue l'ancienne couleur, même après fermeture et réouverture du classeur. L'ancienne couleur est sauvegardée dans un nom de champ et donc sauvegardée avec le classeur (ce qui n'est pas le cas pour une variable qui est perdue lorsque le classeur est fermé)

Adapter le champ [A1😀20]

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   On Error Resume Next
   If [mémoAdresse] <> "" Then Range([mémoAdresse]).Interior.ColorIndex = [mémoCouleur]
   ActiveWorkbook.Names.Add Name:="mémoAdresse", RefersToR1C1:=""
   If Not Intersect([A1:D20], Target) Is Nothing And Target.Count = 1 Then
     ActiveWorkbook.Names.Add Name:="mémoAdresse", RefersToR1C1:="=" & Chr(34) & Target.Address & Chr(34)
     ActiveWorkbook.Names.Add Name:="mémoCouleur", RefersToR1C1:="=" & Target.Interior.ColorIndex
     Target.Interior.ColorIndex = 6
   End If
End Sub

JB
 

Pièces jointes

Dernière édition:
- 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

M
Réponses
5
Affichages
4 K
G
Réponses
3
Affichages
7 K
g.milano
G
B
Réponses
4
Affichages
1 K
B
R
Réponses
6
Affichages
888
rimouski
R
Réponses
16
Affichages
5 K
Pascal63
P
T
Réponses
5
Affichages
4 K
D
Réponses
2
Affichages
4 K
D
Retour