Mise en forme conditionnelle

LaeDan Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous!

Je suis embêté sur Excel 2007, je vous explique mon problème:

J'ai des valeurs numériques dans la colonne A et des valeurs dans la colonne B qui sont des formules basiques de type somme en fonction des valeurs de A.
Je prends un exemple:
B1=> =A2+A4
B2=> =A7+A12
Je voudrais que A2 et A4 se remplissent d'une couleur lorsque je clique sur B1, puis lorsque je clique sur B2 alors A2 et A4 redeviennent blanches et A7 et A12 se remplissent de la couleur etc... J'ai cherché dans mise en forme conditionnelle mais je ne trouve pas. Et je ne suis pas du tout à l'aise pour faire du VBA.

Merci de votre aide!
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

MFC pas possible, VBA ok sur selection cellule

code a mettre dans le VBA de la feuille:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'test si cellule selectionnee est dans la plage
If Not Intersect(Target, Range("B:B")) Is Nothing Then
'test si ce
If Target.FormulaLocal <> "" Then
'colonne A sans remplissage
Columns("A:A").Interior.Pattern = xlNone
'mise en tableau des adresses cellules de la formule
TAdress = Split(Range(Target.Address).FormulaLocal, "+")
'coloriage des cellules: ici jaune,Replace(TAdress(0), "=", "")--->pour supprimer le = du debut de formule
Range(Replace(TAdress(0), "=", "")).Interior.Color = 65535
Range(TAdress(1)).Interior.Color = 65535
End If
End If
End Sub

A+
1
LaeDan Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de ta réponse!
Malheureusement ca n'a pas l'air de fonctionner. C'est la première fois que je fais du vba.
J'ai fait Alt+F11, insertion > module, j'ai copier-coller le code dans le module dont j'ai changé le nom à côté de name (sans espace ni rien de prohibé^^) mais à partir de là je ne sais pas quoi faire et il ne s'éxécute pas. On dirait qu'il ne s'enregistre pas...
Que se passe t-il?
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

J'ai fait Alt+F11, insertion > module---->et ben non, ce n'est pas ce que j'ai ecrit---->code a mettre dans le VBA de la feuille en double cliquant sur le feuille une fois la fenetre VBA ouverte
0
LaeDan Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Génial, ca marche!!
C'est exactement ce que je voulais, merci beaucoup!
Comment fait-on pour changer de couleur le remplissage?
0
LaeDan Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bon...En fait j'ai recliqué sur non résolu car ca ne marche pas si bien que ca^^.

J'ai donné un exemple trivial dans le premier post mais mon document ressemble plus à:

B1=A1
B2=A4+A5+A6
B3=SOMME(A4:A12)
B4=A9+A11
...

Bref des opérations 'somme' basiques mais malgré tout de "taille" différente. Lorsque j'essaie d'appliquer le code, Excel m'affiche "erreur d'exécution '9': l'indice n'appartient pas à la seléction" SAUF pour les cellules composées d'une somme de deux cellules. J'en ai donc déduit (peut-être à tort) que l'erreur venait de la fin du code:

Range(Replace(TAdress(0), "=", "")).Interior.Color = 65535
Range(TAdress(1)).Interior.Color = 65535

Mais même en travaillant dessus et en essayant de faire une boucle while, cela ne fonctionne pas. Au secours!
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

J'ai donné un exemple trivial C'est le moins que vous puissiez en dire. En dehors de SOMME, vous avez d'autres formules iconoclastes ????

Rassurez vous, c'est faisable avec quelques lignes de code supplementaires
0