J'ai bien recherché des solutions a travers le forum, j'ai bien avancé mais il me manque un dernier point pour que cela soit parfait.
J'ai crée une macro pour additionner les valeurs des cellules selon leur couleur de fond.
Cela marche très bien. Et lorsque les nombres changent dans une cellule colorée, le résultat de la somme change automatiquement, ce qui est parfait.
Maintenant, la difficulté est que je voudrais que lorsqu'une cellule change de couleur de fond, que cela change également automatiquement le résultat des sommes (ce qui n'est pas le cas actuellement).
Aucune MFC n'est utilisée. Cela restera à la main. De plus, j'avais installé le KUTOOLS sur ma version Excel mais je n'ai pas réussi a obtenir ce que je voulais à travers ce moyen. Et je souhaiterai ne pas y avoir recours.
Quelqu'un saurait trouver une solution à ma demande s'il vous plaît ?
Je vous remercie d'avance pour le temps que vous prendrez pour me répondre. J'ai mis le fichier en PJ.
Bonjour Nikitacam,
N'ayant pas trouvé de solution stricte à votre souci, je vous propose un pis aller avec cette macro en feuille 1 :
VB:
Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
A chaque clic dans une cellule on recalcule.
Donc quand on change une couleur rien ne change, mais dès qu'on clic dans une cellule quelconque, tout se remet à jour.
Bonjour Nikitacam,
N'ayant pas trouvé de solution stricte à votre souci, je vous propose un pis aller avec cette macro en feuille 1 :
VB:
Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
A chaque clic dans une cellule on recalcule.
Donc quand on change une couleur rien ne change, mais dès qu'on clic dans une cellule quelconque, tout se remet à jour.
Merci beaucoup pour ton retour. J'ai bien ouvert le tableau que tu m'as renvoyé, mais cela ne fonctionne pas lorsque je change de couleur de fond et que je clique dans une cellule quelconque comme indiqué.
Le résultat ne se met pas à jour, je ne sais pas pourquoi :s
Re,
Exact, ça marche ... mais pas tout le temps, une chose m'échappe.
En PJ j'ai mis la formule :
VB:
=SommeParCouleur($C$6:$C$19;E9)+0*ALEA()
Le Alea ne sert à rien car *0 mais oblige XL à ré évaluer la formule. Ca a l'air de marcher.
NB: je me suis aperçu que si vous utilisez le pinceau pour changer les couleur alors le calcul se fait automatiquement sans resélectionner des cellules.
Re,
Exact, ça marche ... mais pas tout le temps, une chose m'échappe.
En PJ j'ai mis la formule :
VB:
=SommeParCouleur($C$6:$C$19;E9)+0*ALEA()
Le Alea ne sert à rien car *0 mais oblige XL à ré évaluer la formule. Ca a l'air de marcher.
NB: je me suis aperçu que si vous utilisez le pinceau pour changer les couleur alors le calcul se fait automatiquement sans resélectionner des cellules. Regarde la pièce jointe 1133038
Merci beaucoup pour ton retour, comme tu peux le voir dans mes réponses à Sylvanu, je vais opter pour sa deuxième solution (je vais valider comme tu m'avais expliqué avec le bouton vert)
Ta solution marche et je t'en remercie , mais je trouve plus fluide celle de Sylvanu c'est pour cela que je l'ai choisi.
Je te remercie aussi pour toutes tes explications au sujet du fonctionnement du site !
La prochaine publication sera bonne du premier coup
Je reviens vers vous aujourd'hui car je n'arrive pas à appliquer sur le fichier original ce que l'on a vu hier.
Pourtant j'ai bien entré les mêmes macros, mais la formule ne fonctionne pas.
Je dois passer a côté de quelque chose...
J'ai mis le fichier en PJ,
Pouvez-vous regarder ce qui ne vas pas s'il vous plaît ? J'espère que vous pourrez me venir en aide.
Bonjour Nikitacam,
Mon dieu, de où avez vous importez vos données ?
Alors dans l'ordre :
1- Il n'y a pas la macro événementielle dans Feuil1, donc le recalcul ne s'effectue jamais.
2- Vos "nombres" en colonne D ne sont pas des nombres mais des chaines de caractères.
Pour vous en convaincre, mettez en G5 "=D5+1" vous aurez une erreur.
Qui plus ait, ce n'est pas un espace qui sépare les milliers. Normalement c'est le code 32. Là vous avez du code 32, 63, 160 ,50, 51 ....
En PJ, j'ai remis la macro Worksheet_SelectionChange, et j' ai rajouté un bouton qui convertit toutes la colonne D en nombres. Avec :
Code:
Sub Convertir()
Application.ScreenUpdating = False
DL = [D65500].End(xlUp).Row
For L = 3 To DL
Chaine = "": valeur = Cells(L, "D")
If valeur <> "" Then
For n = 1 To Len(valeur)
If IsNumeric(Mid(valeur, n, 1)) Then
Chaine = Chaine & Mid(valeur, n, 1)
End If
Next n
Cells(L, "D") = Val(Chaine)
End If
Next L
Application.ScreenUpdating = True
End Sub
Macro a ne lancer qu'une fois lorsque vous importez vos données, ensuite cela ne servirait à rien.
On m'a donné ce tableau avec comme demande de faire la somme des cellules colorées de façon automatique (changement nombres et changement couleur fond).
Je te remercie énormément pour ta dernière réponse. C'est nikel et j'ai pu bien comprendre la technique. Je progresse c'est vraiment cool.
Malheureusement, ce tableau Excel a pour vocation de se retrouver sur google sheet.... Je viens donc de me prendre un mur. La macro ne fonctionnant pas sur google sheets...
Pensez-vous qu'il est possible de trouver une formule qui puisse fonctionner dans google sheet tout en obtenant le même résultat ? Je cherche de mon côté également.... Je vais bien voir si j'y arrive ou non
En tout les cas merci énormément pour votre aide apportée jusqu'ici