Modif couleur cellule active Excel

Modif couleur cellule active Excel - VB/VBA/VBS - Programmation

Marsh Posté le 29-01-2015 à 16:57:57    

Bonjour,
J'aurai besoin d'un avis de pro.
Voilà, dans ma feuille F1, je voudrais que la cellule active change de couleur pour être plus visible et qu'elle reprenne sa couleur d'origine quand on la quitte.
Pour ce faire j'ai mis dans Visual Basic Feuille F1 la procédure suivante:
 
Public old_color, old_sel  
Option Explicit  
Sub Worksheet_SelectionChange(ByVal sel As Range)  
If Not old_sel = "" Then Range(old_sel).Interior.ColorIndex = old_color  
old_sel = sel.Address  
old_color = sel.Interior.ColorIndex  
sel.Interior.ColorIndex = 41  
End Sub  
 
Ça marche pas trop mal sauf que... ça ne me restitue pas toujours la couleur d'origine. Pire, quand on sélectionne plusieurs cellules, c'est la cata...
 
Je crois savoir que l'on peut modifier la couleur de la cellule active d'excel dans le registre. Mais la j'avoue que je n'aime pas trop toucher au moteur de l'ordi.
 
Si quelqu'un à une idée je suis preneur.
 
Merci
 
 
 
 
 

Reply

Marsh Posté le 29-01-2015 à 16:57:57   

Reply

Marsh Posté le 07-02-2015 à 09:16:30    

Salut,
 
Il y a quelques années j'ai été confronté à ce problème!
Il ne faut pas oublier d'utiliser les variables par défauts déclarées en prérogative.
Sh faisant référence à la feuille et Target à une référence de cellule(s).
 
Dans le cas présent j'ai pris la valeur 5 (Bleu) pour le fond.
 

Code :
  1. Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  2. '*******************************************'
  3. '* Détermine la couleur du fond de cellule *'
  4. '*******************************************'
  5. 'Réinitialise le format de toutes les cellules'
  6. Sh.Cells.ClearFormats
  7. 'Attribut une couleur de fond à la séléction'
  8. If Target.Select Then
  9.     Target.Interior.ColorIndex = 5
  10. End If
  11. End Sub


@+.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed