Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Somme à partir de la mise en couleur des cellules

18 réponses
Avatar
Greg
Bonjour à tous,

Je cherche à ce qu'excel me calcule le nombre de cellules bleue pour la
convertir en somme.

En fait, j'ai réalisé un emploi du temps et cherche à ce qu'il calcule
toutes les cellules d'une même couleur (une même matière) afin de calculer
au mieux une répartition de disciplines.

Dans mon classeur, une cellule = 10 minutes

Si vous souhaitez avoir une vision plus clair, voici le classeur
http://cjoint.com/?kchGnxwgNL

Le cumul horaire de chaque discipline apparaitrait sur le coté de l'emploi
du temps, dans des cellules dédiées; ce qui me permettrait de commander par
la suite un diagramme avec la répartition des heures.

Merci à vous pour votre contriubution.

10 réponses

1 2
Avatar
LSteph
Bonjour,

Conseil:

"Utilise directement la matière"

Si c'est un ensemble , son nom peut être utilisé comme critère pour le
calcul. Celle qui a conditionné la mise du Bleu.Si tu aimes les couleurs
ne te prives pas pour autant d'en mettre à l'appui. La MEFC ira bien
derrière.

Pourquoi calculer à partir des couleurs est une mauvaise méthode:

Il faut savoir qu'un changement de format n'est pas de nature à
provoquer un recalcul. Alors, des pseudos-astuces existent pour calculer
avec des couleurs, mais résolument , c'est pas bon, malgré des petits
artifices à renfort de procédures événementielles, cela sollicite
continuellement les macros et le recalcul , appesantissant le
fonctionnement inutilement.

Cordialement.

--
lSteph



Greg a écrit :
Bonjour à tous,

Je cherche à ce qu'excel me calcule le nombre de cellules bleue pour la
convertir en somme.

En fait, j'ai réalisé un emploi du temps et cherche à ce qu'il calcule
toutes les cellules d'une même couleur (une même matière) afin de calculer
au mieux une répartition de disciplines.

Dans mon classeur, une cellule = 10 minutes

Si vous souhaitez avoir une vision plus clair, voici le classeur
http://cjoint.com/?kchGnxwgNL

Le cumul horaire de chaque discipline apparaitrait sur le coté de l'emploi
du temps, dans des cellules dédiées; ce qui me permettrait de commander par
la suite un diagramme avec la répartition des heures.

Merci à vous pour votre contriubution.




Avatar
Greg
Merci pour ta réponse rapide.

En fait, j'ai eu l'occasion de chercher avant de m'engager sur mon propore
emploi du temps. Je suis du genre fainéant révolté, alors dans la mesure du
possible, je m'abstiens...

Mais, le fait est que ce que je trouve ici et là est soit esthétiquement
inenvisageable (la matière est écrite x fois afin de permettre le calcul),
soit très beau mais utilisé alors comme un tableau sous word.Bien sûr, on
pourrait envisager d'écrire en blanc sur fond blanc une partie des
écritures, mais tout cela parait fastidieux.

De plus, l'idée est de faire profiter à mes collègues du boulot. S'il sont
obligés de rentrer dans des manoeuvres complexes (pour eux), ils préfèreront
continuer comme au temps des dinausores.

Mon idée était donc au départ la suivante:

Le collègue clique sur une discipline (cellule de base mise en forme:
couleur, police...) sur le côté de l'emploi du temps et viens placer cette
discipline dans l'emploi du temps en faisant glisser autant que de besoin en
fonction du temps. A côté de la cellule " de base" (toujours dans mon rêve),
on aurait pu lire le temps cumulé de cette discipline à mesure que les
cellules de l'emploi du temps se remplissaient.

Rêve ou réalité?

Je pense que ceci est possible mais mon niveau dans Excel ne me permet pas
du tout de le faire. Alors, j'avance à pas de fourmi. Il me semble qu'un tel
fichier devrait en intéresser plus d'un, dans ou hors enseignement, compte
tenu de la "pauvreté" des classeurs sur le Net.

Si vous avez des conseils à me donner, n'hésitez pas.

Merci

Greg
Avatar
LSteph
... il n'est pas nécessaire de briser ton rêve.
(Tu peux quand même vivement relire ma réponse, car ta reformuletion
faisant abstraction de ce qui devrait essentiellement interpeler ta
réflexion, laisse entrevoir que tu l'aurais consciement ou non occulté ).
Juste, selon les détails que tu donneras (en attendant que cjoint)
refonctionne l'idée serait de le mener à bien selon une méthode qui
convienne mieux que calculer à partir des couleur.
(mais les astuces existent) .
Pour le mieux sur http://www.excelabo.net va déjà lire l'astuce et la
réserve qui va avec.

Sinon
Tu dis bien:

> Le collègue clique sur une discipline (cellule de base mise en forme:
> couleur, police...)

Il y a donc une piste, car police suppose caractères, donc
identification possible de la matière.

> Mais, le fait est que ce que je trouve ici et là est soit ...
> ...écritures, mais tout cela parait fastidieux.

Pas du tout un pb remplir 125000 cellules peut ne prendre q'1 seconde.
Le camouflage ne sera même peut-être pas nécessaire.

On peut aussi avoir une feuille fonctionnelle avec des données et
une autre qui assure le visuel.

@+

--
lSteph



Greg a écrit :
Merci pour ta réponse rapide.

En fait, j'ai eu l'occasion de chercher avant de m'engager sur mon propore
emploi du temps. Je suis du genre fainéant révolté, alors dans la mesure du
possible, je m'abstiens...

Mais, le fait est que ce que je trouve ici et là est soit esthétiquement
inenvisageable (la matière est écrite x fois afin de permettre le calcul),
soit très beau mais utilisé alors comme un tableau sous word.Bien sûr, on
pourrait envisager d'écrire en blanc sur fond blanc une partie des
écritures, mais tout cela parait fastidieux.

De plus, l'idée est de faire profiter à mes collègues du boulot. S'il sont
obligés de rentrer dans des manoeuvres complexes (pour eux), ils préfèreront
continuer comme au temps des dinausores.

Mon idée était donc au départ la suivante:

Le collègue clique sur une discipline (cellule de base mise en forme:
couleur, police...) sur le côté de l'emploi du temps et viens placer cette
discipline dans l'emploi du temps en faisant glisser autant que de besoin en
fonction du temps. A côté de la cellule " de base" (toujours dans mon rêve),
on aurait pu lire le temps cumulé de cette discipline à mesure que les
cellules de l'emploi du temps se remplissaient.

Rêve ou réalité?

Je pense que ceci est possible mais mon niveau dans Excel ne me permet pas
du tout de le faire. Alors, j'avance à pas de fourmi. Il me semble qu'un tel
fichier devrait en intéresser plus d'un, dans ou hors enseignement, compte
tenu de la "pauvreté" des classeurs sur le Net.

Si vous avez des conseils à me donner, n'hésitez pas.

Merci

Greg




Avatar
Greg
Merci pour ta réponse. Je vais donc reprendre point par point, avec mon
petit niveau, pour te montrer que je n'avais en rien occulté la réponse:


"Utilise directement la matière"


> Si c'est un ensemble , son nom peut être utilisé comme critère pour le
calcul. Celle qui a conditionné la mise du Bleu.Si tu aimes les couleurs
ne te prives pas pour autant d'en mettre à l'appui. La MEFC ira bien
derrière.



Je comprends bien mais si une cellule = 10 minutes et que ma matière dure 60
minutes, je ne vois pas comment excel peut calculer si je ne le recopie pas
6 fois. Pour la MEFC, pas de problème, sauf que je serai bloqué au bout de 3
matières puisque 3 conditions pas plus... D'où ma réponse et mon appel au
secours.

Juste, selon les détails que tu donneras (en attendant que cjoint)


Quels détails dois-je donner? Je ne comprends pas "en attendant que cjoint".
Peut etre cela fait-il référence à un fichier que j'avais joint dans mon
premier message.

Pour le mieux sur http://www.excelabo.net va déjà lire l'astuce et la


réserve qui va avec.
Je suis allé dans Astuce et là... que faire? Entrer un mot clé... quoi???
J'avoue que je me sens perdu.

Il y a donc une piste, car police suppose caractères, donc


identification possible de la matière.

Ca, je comprends... Mais toujours le problème des cellules vides, ou des
dizaines de cellules à remplir et à cacher (à mon niveau) ou de la fusion
qui me grille de toute façon.

Pas du tout un pb remplir 125000 cellules peut ne prendre q'1 seconde.


Le camouflage ne sera même peut-être pas nécessaire.

Ah... c'est intéressant mais je me demande bien comment...

On peut aussi avoir une feuille fonctionnelle avec des données et


une autre qui assure le visuel.

D'accord... pour moi. Mais j'ai peur que ça ne soit pas très fonctionnel
pour mes collègues.

Alors, voilà ce que je pensais:
Est-il possible de sélectionner D4:D9 par exemple puis de cliquer sur un
bouton derrière lequel se cacherait une macro qui ordonnerait d'écrire
"français", dans la cellule D6 (moyenne arrondi à l'inférieur de 9et 4) en
noir et en bleue dans les autres ; parralellement, de mettre en couleur
bleue l'ensemble de ces cellules D4:D9. Ainsi, seule D6 est visible et je
peux me débrouiller pour le calcul avec quelquechose dans le genre :

=NB.SI(xxxxxx)*0,10 (pour mes 10 minutes par cellule)

Bon, c'est peut être du bidouillage, mais je n'en suis que là.

Merci encore...
Avatar
lSteph
Ok! Juste que le point essentiel était plutôt ceci:


mais
..voilà le genre de truc qui nous fait avancer:

Alors, voilà ce que je pensais:
Est-il possible de sélectionner D4:D9 par exemple puis de cliquer sur u n
bouton derrière lequel se cacherait une macro qui ordonnerait d'écrir e
"français", dans la cellule D6 (moyenne arrondi à l'inférieur de 9e t 4) en
noir et en bleue dans les autres ; parralellement,  de mettre en couleu r
bleue l'ensemble de ces cellules D4:D9.



Tout à fait réalisable!

Pour peu que tu aies mis en colonne les formats qui conviennent
Sans macro, même, en utilisant une MEFC et une liste de validation
pour les matières
Exemple
"Français" Police Bleu Fond Bleu
"Math" Police Rouge Fond Rouge
Sauf la première cellule dont la police serait de couleur différente

Je te fais un petit exemple ....et reviens.

--
lSteph
Avatar
lSteph
;-)
On 2 oct, 11:22, lSteph wrote:
Ok! Juste que le point essentiel était plutôt ceci:



Il faut savoir qu'un changement de format n'est pas de nature à
provoquer un recalcul

mais
..voilà le genre de truc qui nous fait avancer:

> Alors, voilà ce que je pensais:
> Est-il possible de sélectionner D4:D9 par exemple puis de cliquer sur un
> bouton derrière lequel se cacherait une macro qui ordonnerait d'écr ire
> "français", dans la cellule D6 (moyenne arrondi à l'inférieur de 9et 4) en
> noir et en bleue dans les autres ; parralellement,  de mettre en coul eur
> bleue l'ensemble de ces cellules D4:D9.

Tout à fait réalisable!

Pour peu que tu aies mis en colonne les formats qui conviennent
Sans macro, même, en utilisant une MEFC et une liste de validation
pour les matières
Exemple
"Français"   Police  Bleu Fond Bleu
"Math" Police Rouge Fond Rouge
Sauf la première cellule dont la police serait  de couleur différen te

Je te fais un petit exemple ....et reviens.

--
lSteph


Avatar
lSteph
..en fait on mettra un peu de VBA tout de même car la MEFC nous
limiterait trop le nombre de matières....

...
@++
Avatar
Greg
oui, c'est ce que je pensais... et c'est là que mes compétences s'arrêtent.
J'ai hâte de m'y mettre et de devenir autonome.
Avatar
lSteph
... je reprends donc , là où on en était, voici selon l'idée:

http://cjoint.com/?kcsmSacipG

--
lSteph

On 2 oct, 11:41, "Greg" wrote:
oui, c'est ce que je pensais... et c'est là que mes compétences s'arr êtent.
J'ai hâte de m'y mettre et de devenir autonome.


Avatar
lSteph
Une petite ectification de la formule du temps en C2:
=SI($A2<>"";SOMMEPROD(($C$14:$H$74=$A2)*1)*10/(24*60);"")
à recopier vers bas.

J'en profite pour donner ici le code:

'''dans Module de classe nommé ClassBouton

Option Explicit
Public WithEvents myButs As CommandButton

Private Sub myButs_Click()
Feuil1.Activate 'uniquement pour 97
Call Remplit(myButs.Caption, myButs.BackColor)
End Sub

'''dans ThisworkBook
Option Explicit

Private Sub Workbook_Open()
Call InitCButtons
End Sub

''dans module standard nommé Conception1
Option Explicit
Option Private Module

Sub LitB()
Dim i As Integer
With [MATIERES]
For i = 1 To .Cells.Count
Feuil1.OLEObjects("CommandButton" & i).Object.Caption = .Cells(i)
Next
End With
End Sub

Sub ColorB()
Dim i As Integer
With [MATIERES]
For i = 1 To .Cells.Count
Feuil1.OLEObjects("CommandButton" & i).Object.BackColor
= .Cells(i).Interior.Color

Next
End With
End Sub


Sub Zonedetexte14_QuandClic()
Call LitB
Call ColorB
[maplage].ClearContents
[maplage].Interior.ColorIndex = xlNone
Call InitCButtons
End Sub

''dans module standard nommé Action1:

Option Explicit

Dim CButtons() As ClassBouton

Sub InitCButtons()
Dim myB As OLEObject, CmdB As MSForms.CommandButton
Dim i As Integer
For Each myB In Feuil1.OLEObjects
If TypeOf myB.Object Is CommandButton Then
i = i + 1
ReDim Preserve CButtons(1 To i)
Set CButtons(i) = New ClassBouton
Set CButtons(i).myButs = myB.Object
End If
Next myB
End Sub
Sub Remplit(mytext As String, myc)
Dim C As Range, isect As Range, i As Integer
On Error GoTo fin:
Set isect = Intersect([maplage], Selection)
If Not isect Is Nothing Then
Application.ScreenUpdating = False
For Each C In isect.Cells
C.Activate 'uniquement pour 97
C = mytext
C.Interior.Color = myc
C.Font.Color = myc
Next C
isect.Cells(1).Font.ColorIndex = 1
End If
fin:
InitCButtons
End Sub

'''dans le code de Feuil1
Option Explicit

Private Sub Worksheet_Activate()
Call InitCButtons
End Sub

'lSteph


On 2 oct, 18:13, lSteph wrote:
... je reprends donc , là où on en était, voici selon l'idée:

http://cjoint.com/?kcsmSacipG

--
lSteph

On 2 oct, 11:41, "Greg" wrote:

> oui, c'est ce que je pensais... et c'est là que mes compétences s'a rrêtent.
> J'ai hâte de m'y mettre et de devenir autonome.


1 2