Pour faire suite à ce fil Passer cellule en surbrillance
Un exemple qui change la couleur de fond de la cellule que l'on vient de sélectionner et remet la cellule précédente en couleur de fond par défaut.
Code : Tout sélectionner
Option explicit
Sub Color_select
Dim CellSelect As Object, MaFeuille As Object
Dim LastAddressCell As String, CellAddress As Object, LastCell As Object
CellSelect = ThisComponent.CurrentSelection ' La cellule sélectionnée
LastAddressCell = CellSelect.AbsoluteName ' Nom de la cellule sélectionnée
MaFeuille = ThisComponent.CurrentController.ActiveSheet ' La feuille active
CellAddress = MaFeuille.getCellRangeByName("A1") ' Cellule ou l'on écris le nom de la cellule sélectionnée
CellAddress.CharColor = RGB(255,255,255) 'Couleur de police
CellAddress.CharHeight = 6 'Hauteur de police
CellSelect.CellBackColor = RGB(127,200,255)'Couleur fond cellule / Rouge, vert, bleu / valeur de 0 à 255
If CellAddress.String = "" Then CellAddress.String = LastAddressCell
If CellSelect.AbsoluteName <> CellAddress.String Then
LastCell = MaFeuille.getCellRangeByName(CellAddress.String)
LastCell.CellBackColor = -1
CellAddress.String = LastAddressCell
End if
End sub
La cellule A1 de la feuille active est utilisée en écriture pour mémoriser l'adresse de la cellule que l'on vient de "quitter". Bien entendu cette cellule ne doit pas être protégée. Je fais un peu le fainéant sur ce coup là, si quelqu'un à une meilleur idée ne pas hésiter à faire des modifications.
La macro Color_select est branchée (clic droit sur l'onglet feuille) à Événements de la feuille > Sélection modifiée.
Une deuxième macro (assigneMacro) est présente dans le fichier et permet d'automatiser le branchement de la macro à l'ensemble des feuilles du classeur.
La sélection multiple est possible et ne semble pas créer d'erreur... enfin j'espère



Ajout : Édition pour Changement de fichier 1° - Dans le nouveau fichier joint, les feuilles ne sont plus protégées par mot de passe. 2° - Une écoute pour déterminer la feuille active est lancée à l'ouverture du fichier (Barre de menu Outils > Personnaliser... > Ouvrir le document. Plus d'écriture dans la cellule A1. |
Luke