Encadrer les cellules du calcul lors de la selection

Bonjour ,

J'aimerai , lorsque que je sélectionne une cellule contenant une équation ( ou même une addition toute simple ), que les cellules contenu dans cette équation soit encadrées comme lorsque que l'on double-clic dans cette équation ( les diiférentes cellules sont encadrées de couleurs différentes ) .

Ou si ce n est pas possible , au moins de les mettre en surbrillance.

Je voulais partir de ce code VBA , qui permet de mettre en surbrillance une ligne entière, mais je ne trouve pas comment le modifié afin de récupérer le nom de cellules ?

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Cells.Interior.ColorIndex = 0
Target.EntireRow.Interior.ColorIndex = 5
End Sub

Je ne sais pas si c'est possible ?

Dans le fichier joint j'ai laissé le code qui permet de mettre en surbrillance la ligne sélectionnée.

Et j'aimerai que lorsque je sélectionne B3 , B5 ou B7 les cellules contenu dans le calcul se mette en surbrillance .

Bonne journée

17surbrillance.zip (26.65 Ko)

Excel le fait déjà par lui même...

Si tu veux le faire lors de la selection... Tu vas devoir parser le texte de la formule, trouver les adresses et les encadrer... Bon courage ce n'est pas une tâche aisée.

Bonjour ,

Oui en effet excel le fait mais lorsque l'on rentre dans la cellule de l'équation pour la modifier ( double-clic par exemple ), j'aimerai faire la même chose mais simplement lorsque l'on sélectionne ( simple clic ) ou lors du survol de cette cellule .

Donc je pensais qu'il était peut être possible en VBA de récupérer la fonction "native" d'excel et de la modifier .

Je vais essayer de me renseigner pour "parser" voir ce que ça implique.

Merci

Tu récupères dans une variable la formule et tu récupères dedans les adresses puis dans un evenment worsheet_change tu modifies le format des cellules dont tu as récupéré l'adresse.

Bonjour,

Sans grande conviction, pour le fun

Option Explicit
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    With Cells
        .Interior.ColorIndex = xlNone
        .Font.Bold = False
    End With
    With Target
        .EntireRow.Interior.ColorIndex = 6
        .EntireColumn.Interior.ColorIndex = 6
    End With
    If Target.HasFormula Then Target.Font.Bold = True
End Sub

Merci pour votre aide ,

J'ai essayé le code de Jean-eric mais sans succès.

Donc je pense que je vais faire plus simple et du coup sélectionner a la main les cellules a mettre en couleur.

Comme ceci :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Not Intersect(Target, Range("D8")) Is Nothing Then

            Range("Selection").Interior.ColorIndex = 36

    Else
        Range("Selection").Interior.ColorIndex = 0

    End If

End Sub

Ca fonctionne même si ça m'oblige à le faire pour chaque équation.

Re,

13surbrillance.zip (27.50 Ko)

Merci pour le fichier mais ça ne correspond pas a mes besoins.

Bonne journée

Bonjour

A tester

Waouw !!

Alors la , je suis sur le c** !!!!

Merci beaucoup !!!!

Banzaï, bonsoir,

pourrais tu mettre le code de ton ws_change? Je n'arrive pas à telecharger ton fichier et j'aimerais bien voir comment tu as fait!

Re,

Ci-dessous le code de Banzai64

Il y a des jours ou je le hais

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  Cells.Interior.ColorIndex = xlNone
  If Target.HasFormula Then Target.DirectPrecedents.Interior.ColorIndex = 4
End Sub

Au moins ils nous apprend des choses... directprecedents... fallait le trouver. Merci Banzaï!

C'est clair "directprecedent" je n en ai jamais entendu parler sur les differents sites que j ai pu voir lors de mes recherches !

Rechercher des sujets similaires à "encadrer calcul lors selection"