MEFC si autre cellule dépendante

Etn

XLDnaute Occasionnel
Bonjour le forum,

Je souhaiterais créer une MEFC si une autre cellule (n'importe laquelle est dépendante de ma 1e cellule).

Par exemple j'ai A1=10 et j'ai B1=A1+1, alors A1 sera en vert car une autre cellule depend de celle ci.
Mais si je supprime B1, alors plus aucune cellule ne depend de A1, et A1 redevient donc de couleur normale

Je sais pas si c'est clair, je peux faire un fichier vite fait pour illustrer cela si besoin, mais je pense que cela devrait être comprehensible.

N'hésitez pas si vous avez des questions.

Merci d'avance pour votre aide.

Etn
 

job75

XLDnaute Barbatruc
Bonsoir Etn,

Je crains que par MFC ce que vous voulez ne soit pas possible.

Par contre aucun problème avec cette macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
Cells.Interior.ColorIndex = xlNone 'RAZ
UsedRange.DirectPrecedents.Interior.ColorIndex = 4 'vert
End Sub
Fichier joint.

A+
 

Pièces jointes

  • Antecedents(1).xlsm
    21.7 KB · Affichages: 20

job75

XLDnaute Barbatruc
Bonjour Etn, le forum,

Je découvre que le problème du copier-coller existe seulement pour les antécédents directs (DirectPrecedents).

En recherchant les antécédents tous niveaux (Precedents) plus de problème :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
Cells.Interior.ColorIndex = xlNone 'RAZ
UsedRange.Precedents.Interior.ColorIndex = 4 'antécédents tous niveaux en vert
End Sub
Fichier (2).

Bonne journée.
 

Pièces jointes

  • Antecedents(2).xlsm
    18.4 KB · Affichages: 10

Etn

XLDnaute Occasionnel
Bonjour job75,

Malheureusement j'ai besoin uniquement du directprecedents ou pas de tous les precedents d'une cellule.
Mais je l'adapte pour qu'il corresponde à mes besoins et cela fonctionne très bien. :)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [M1:M1000]) Is Nothing Then Exit Sub

UsedRange.Interior.ColorIndex = 0
Range("Depends").DirectPrecedents.Interior.ColorIndex = 35
Range("Color").Interior.ColorIndex = 0
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 332
Membres
102 864
dernier inscrit
abderrashmaen