XL 2013 erreur sur la formule ! changement de couleur de cellule [Résolu]

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

bellenm

XLDnaute Impliqué
Bonjour à tous,

petit problème de visual
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static selection_precedente As String

    If selection_precedente <> "" Then
        'Suppression de la couleur de fond de la sélection précédente :
        Range(selection_precedente).Interior.ColorIndex = xlColorIndexNone
    End If

    'Coloration de la sélection actuelle :
    Target.Interior.Color = RGB(0, 255, 255) '(181, 244, 0)

    'Enregistrement de l'adresse de la sélection actuelle :
    selection_precedente = Target.Address
End Sub

ok la cellule change de couleur lors de son déplacement mais surtout efface la mise en forme!

Comment écrire pour qu'après le déplacement l'ancienne cellule revient à son format initial sauf bien sur les rajouts données .

Ce qui me faudrait comme code, c'est que la cellule change de couleur lors de l'arrivé sur celle-ci mais qu'après son départ reprenne la couleur qu'elle avait avant!


Je ne sais pas si j'ai été assez clair?

D'avance merci

Marc
 
Dernière modification par un modérateur:
Re : erreur sur la formule ! changement de couleur de cellule

Bonjour.

Essayez ça :
VB:
Option Explicit
Dim Cible As Range, CoulFond As Long

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Cible Is Nothing Then Cible.Interior.Color = CoulFond
If Target.Rows.Count = 1 And Target.Columns.Count = 1 Then
   Set Cible = Target
   CoulFond = Target.Interior.Color
   Target.Interior.Color = RGB(0, 255, 255)
Else: Set Cible = Nothing: End If
End  Sub
Mais ce n'est peut être pas parfait car un changement de couleur expressément demandé sur la cellule sélectionnée ne serait pas conservé. On pourrait y remédier en testant que ce soit bien toujours cette couleur, mais ça ne résoudrait pas le problème pour cette couleur là justement.
 
Re : erreur sur la formule ! changement de couleur de cellule

Pour pouvoir le faire fonctionner aussi sur des cellules fusionnées :
VB:
Option Explicit
Dim Cible As Range, CoulFond As Long

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Cible Is Nothing Then Cible.Interior.Color = CoulFond
Set Cible = Target(1, 1).MergeArea
If Target.Rows.Count = Cible.Rows.Count And Target.Columns.Count = Cible.Columns.Count Then
   CoulFond = Target.Interior.Color
   Target.Interior.Color = RGB(0, 255, 255)
Else: Set Cible = Nothing: End If
End Sub
 
Re : erreur sur la formule ! changement de couleur de cellule

Ha oui ok donc aussi simplement déverrouiller la feuille.

Je croyais qu'il y avait possibilité de le faire automatiquement lorsque l'on accédait à la feuille!

Merci pour ton aide Dranreb

Marc
 
Re : erreur sur la formule ! changement de couleur de cellule

C'est aussi possible sûrement dans une Worksheet_Activate.
Ou bien au contraire y remettre cette protection mais en précisant le paramètre UserInterfaceOnly:=True pour que les macros n'y soient pas soumises.
 
- 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

Retour