OVH Cloud OVH Cloud

Actualisation

5 réponses
Avatar
Leo
Bonjour,
voici une fonction, qui renvoi le n° de couleur d'une cellule.

Function coulcell(plage As Range) As Integer
Application.Volatile
coulcell = plage.Font.ColorIndex
End Function

malheureusement, si je change la couleur de cette cellule, le recalcul ne se
fait pas.
Il faut valider la formule à chaque fois .

Comment faire ??????????

Merci d'avance,
--


Amicalement,
Leo
---------------------------------------------
Pour les riders, BMX, VTT. Un seul site :
Little Big Trail : http://perso.wanadoo.fr/lbt/
---------------------------------------------

5 réponses

Avatar
michdenis
Bonjour Léo,

J'ai bien peur qu'il n'y ait pas grande alternative. La modification de la couleur du texte ou du fond d'une cellule ne
provoque aucun événement dans excel ... c'est ce pourquoi il est difficile de mettre à jour ce type de fonctions basées
sur le formatage !

Si tu appuies sur la touche F9 après avoir modifié l'apparence d'une cellule, cela va provoquer un recalcul de la
feuille et une mise à jour de tes fonctions personnalisées.


Salutations!


"Leo" a écrit dans le message de news:cbcrnv$bu2$
Bonjour,
voici une fonction, qui renvoi le n° de couleur d'une cellule.

Function coulcell(plage As Range) As Integer
Application.Volatile
coulcell = plage.Font.ColorIndex
End Function

malheureusement, si je change la couleur de cette cellule, le recalcul ne se
fait pas.
Il faut valider la formule à chaque fois .

Comment faire ??????????

Merci d'avance,
--


Amicalement,
Leo
---------------------------------------------
Pour les riders, BMX, VTT. Un seul site :
Little Big Trail : http://perso.wanadoo.fr/lbt/
---------------------------------------------
Avatar
Daniel.M
Bonjour Leo,

Les changements de formats ne sont pas associés au moteur de re/calcul d'Excel.

Il faut reconsidérer ton approche.
Au lieu de colorer les cellules, Tu pourrais mettre un chiffre significatif dans
une autre cellule2. Tu peux même avoir un événement Change (ou une Mise en Forme
Conditionnnelle) qui en profitera pour colorer lui-même les cellules1 dépendant
du chiffre dans la cellule2.
Ensuite, des formules très rapides (parce qu'elles utilisent les fonctions
natives d'Excel et non plus des fonctions VBA) peuvent te renseigner très
rapidement sur tes données.

Donc, combien de couleurs as-tu? Et quelles sont les raisons pour lesquelles
colores-tu tes cellules, qu'est-ce que ça veut dire une cellule verte (ou
rouge)?

Salutations,

Daniel M.

"Leo" wrote in message
news:cbcrnv$bu2$
Bonjour,
voici une fonction, qui renvoi le n° de couleur d'une cellule.

Function coulcell(plage As Range) As Integer
Application.Volatile
coulcell = plage.Font.ColorIndex
End Function

malheureusement, si je change la couleur de cette cellule, le recalcul ne se
fait pas.
Il faut valider la formule à chaque fois .

Comment faire ??????????

Merci d'avance,
--


Amicalement,
Leo
---------------------------------------------
Pour les riders, BMX, VTT. Un seul site :
Little Big Trail : http://perso.wanadoo.fr/lbt/
---------------------------------------------




Avatar
Leo
Bonsoir,
Merci pour ces réponses.

je souhaite simplement compter le nombre de cellules, dont le texte est
d'une certaine couleur.
Visuellement, la couleur du texte représente pour moi, une propriété du
texte.

Exemple :
tous les textes vert sont des plantes
Tous les rouges des objets
etc.....

visuellement, cela permettait d'avoir une vue d'ensemble plus parlante de
mon sujet.

Excel lui faisait les calculs du nombre de plantes, d'objets etc...

A+
--


Amicalement,
Leo
---------------------------------------------
Pour les riders, BMX, VTT. Un seul site :
Little Big Trail : http://perso.wanadoo.fr/lbt/
---------------------------------------------

"Daniel.M" a écrit dans le message de
news:
Bonjour Leo,

Les changements de formats ne sont pas associés au moteur de re/calcul
d'Excel.


Il faut reconsidérer ton approche.
Au lieu de colorer les cellules, Tu pourrais mettre un chiffre
significatif dans

une autre cellule2. Tu peux même avoir un événement Change (ou une Mise en
Forme

Conditionnnelle) qui en profitera pour colorer lui-même les cellules1
dépendant

du chiffre dans la cellule2.
Ensuite, des formules très rapides (parce qu'elles utilisent les fonctions
natives d'Excel et non plus des fonctions VBA) peuvent te renseigner très
rapidement sur tes données.

Donc, combien de couleurs as-tu? Et quelles sont les raisons pour
lesquelles

colores-tu tes cellules, qu'est-ce que ça veut dire une cellule verte (ou
rouge)?

Salutations,

Daniel M.

"Leo" wrote in message
news:cbcrnv$bu2$
Bonjour,
voici une fonction, qui renvoi le n° de couleur d'une cellule.

Function coulcell(plage As Range) As Integer
Application.Volatile
coulcell = plage.Font.ColorIndex
End Function

malheureusement, si je change la couleur de cette cellule, le recalcul
ne se


fait pas.
Il faut valider la formule à chaque fois .

Comment faire ??????????

Merci d'avance,
--


Amicalement,
Leo
---------------------------------------------
Pour les riders, BMX, VTT. Un seul site :
Little Big Trail : http://perso.wanadoo.fr/lbt/
---------------------------------------------








Avatar
Daniel.M
Hello,

AMA, tu as donc 2 solutions: il faut en choisir une des deux.

1: Associé un événement dès que tu te déplaces dans une certaine partie de ta
feuille (mettons dans la plage A1:A10). Cette façon de faire à le grand
désavantage de faire des calculs à chaque fois et donc, de ralentir ton système.
Par exemple, si tu mettre en E1 le nombre de Plantes et E2 le nombre d'objets de
ta plage A1:A10, tu inscris ce qui suit dans LE CODE DE TA FEUILLE.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
Dim C As Range, TotPlante As Long, TotObj As Long
For Each C In Range("A1:A10")
If C.Font.ColorIndex = 4 Then TotPlante = TotPlante + 1
If C.Interior.ColorIndex = 3 Then TotObj = TotObj + 1
Next C
Range("E1").Value = TotPlante
Range("E2").Value = TotObj
End If
End Sub


2. Tu te sers de d'autres cellules (à côté de ta plage A1:A10), donc mettons des
1 dans B1:B10 (pour indiquer si c'est une plante) et des 1 aussi dans C1:C10 si
ce sont des objets.

Pour obtenir ensuite le nombre de plantes =SOMME(B1:B10) et le nombre d'objets
=SOMME(C1:C10)
Tu viens de dire à Excel une façon de comprendre ta structuration. Il peut faire
l'ensemble des calculs requis.

Mieux encore, maintenant tu associes un code événement CHANGE aux plages B1:B10
et tu colores tes entrées en A1:A10 de façon adéquate.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1:B10")) Is Nothing Then
If Target(1, 1).Value = 1 Then
Target(1, 0).Font.ColorIndex = 4
Else
Target(1, 0).Font.ColorIndex = xlNone
End If
ElseIf Not Intersect(Target, Range("C1:C10")) Is Nothing Then
If Target(1, 1).Value = 1 Then
Target(1, -1).Interior.ColorIndex = 3
Else
Target(1, -1).Interior.ColorIndex = xlAutomatic
End If
End If
End Sub

AMA encore, c'est le meilleur des deux mondes: Le logiciel peut interpréter ta
structuration des données et en plus il colore adéquatement et automatiquement
tes entrées en A1:A10 dès que tu mets un 1 dans la bonne colonne à côté.

Salutations,

Daniel M.

"Leo" wrote in message
news:cbcvqs$6vh$
Bonsoir,
Merci pour ces réponses.

je souhaite simplement compter le nombre de cellules, dont le texte est
d'une certaine couleur.
Visuellement, la couleur du texte représente pour moi, une propriété du
texte.

Exemple :
tous les textes vert sont des plantes
Tous les rouges des objets
etc.....

visuellement, cela permettait d'avoir une vue d'ensemble plus parlante de
mon sujet.

Excel lui faisait les calculs du nombre de plantes, d'objets etc...

A+
--


Amicalement,
Leo
---------------------------------------------
Pour les riders, BMX, VTT. Un seul site :
Little Big Trail : http://perso.wanadoo.fr/lbt/
---------------------------------------------

"Daniel.M" a écrit dans le message de
news:
Bonjour Leo,

Les changements de formats ne sont pas associés au moteur de re/calcul
d'Excel.


Il faut reconsidérer ton approche.
Au lieu de colorer les cellules, Tu pourrais mettre un chiffre
significatif dans

une autre cellule2. Tu peux même avoir un événement Change (ou une Mise en
Forme

Conditionnnelle) qui en profitera pour colorer lui-même les cellules1
dépendant

du chiffre dans la cellule2.
Ensuite, des formules très rapides (parce qu'elles utilisent les fonctions
natives d'Excel et non plus des fonctions VBA) peuvent te renseigner très
rapidement sur tes données.

Donc, combien de couleurs as-tu? Et quelles sont les raisons pour
lesquelles

colores-tu tes cellules, qu'est-ce que ça veut dire une cellule verte (ou
rouge)?

Salutations,

Daniel M.

"Leo" wrote in message
news:cbcrnv$bu2$
Bonjour,
voici une fonction, qui renvoi le n° de couleur d'une cellule.

Function coulcell(plage As Range) As Integer
Application.Volatile
coulcell = plage.Font.ColorIndex
End Function

malheureusement, si je change la couleur de cette cellule, le recalcul
ne se


fait pas.
Il faut valider la formule à chaque fois .

Comment faire ??????????

Merci d'avance,
--


Amicalement,
Leo
---------------------------------------------
Pour les riders, BMX, VTT. Un seul site :
Little Big Trail : http://perso.wanadoo.fr/lbt/
---------------------------------------------












Avatar
Leo
MERCI



--


Amicalement,
Leo
---------------------------------------------
Pour les riders, BMX, VTT. Un seul site :
Little Big Trail : http://perso.wanadoo.fr/lbt/
---------------------------------------------

"Daniel.M" a écrit dans le message de
news:uqd$
Hello,

AMA, tu as donc 2 solutions: il faut en choisir une des deux.

1: Associé un événement dès que tu te déplaces dans une certaine partie de
ta

feuille (mettons dans la plage A1:A10). Cette façon de faire à le grand
désavantage de faire des calculs à chaque fois et donc, de ralentir ton
système.

Par exemple, si tu mettre en E1 le nombre de Plantes et E2 le nombre
d'objets de

ta plage A1:A10, tu inscris ce qui suit dans LE CODE DE TA FEUILLE.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
Dim C As Range, TotPlante As Long, TotObj As Long
For Each C In Range("A1:A10")
If C.Font.ColorIndex = 4 Then TotPlante = TotPlante + 1
If C.Interior.ColorIndex = 3 Then TotObj = TotObj + 1
Next C
Range("E1").Value = TotPlante
Range("E2").Value = TotObj
End If
End Sub


2. Tu te sers de d'autres cellules (à côté de ta plage A1:A10), donc
mettons des

1 dans B1:B10 (pour indiquer si c'est une plante) et des 1 aussi dans
C1:C10 si

ce sont des objets.

Pour obtenir ensuite le nombre de plantes =SOMME(B1:B10) et le nombre
d'objets

=SOMME(C1:C10)
Tu viens de dire à Excel une façon de comprendre ta structuration. Il peut
faire

l'ensemble des calculs requis.

Mieux encore, maintenant tu associes un code événement CHANGE aux plages
B1:B10

et tu colores tes entrées en A1:A10 de façon adéquate.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1:B10")) Is Nothing Then
If Target(1, 1).Value = 1 Then
Target(1, 0).Font.ColorIndex = 4
Else
Target(1, 0).Font.ColorIndex = xlNone
End If
ElseIf Not Intersect(Target, Range("C1:C10")) Is Nothing Then
If Target(1, 1).Value = 1 Then
Target(1, -1).Interior.ColorIndex = 3
Else
Target(1, -1).Interior.ColorIndex = xlAutomatic
End If
End If
End Sub

AMA encore, c'est le meilleur des deux mondes: Le logiciel peut
interpréter ta

structuration des données et en plus il colore adéquatement et
automatiquement

tes entrées en A1:A10 dès que tu mets un 1 dans la bonne colonne à côté.

Salutations,

Daniel M.

"Leo" wrote in message
news:cbcvqs$6vh$
Bonsoir,
Merci pour ces réponses.

je souhaite simplement compter le nombre de cellules, dont le texte est
d'une certaine couleur.
Visuellement, la couleur du texte représente pour moi, une propriété du
texte.

Exemple :
tous les textes vert sont des plantes
Tous les rouges des objets
etc.....

visuellement, cela permettait d'avoir une vue d'ensemble plus parlante
de


mon sujet.

Excel lui faisait les calculs du nombre de plantes, d'objets etc...

A+
--


Amicalement,
Leo
---------------------------------------------
Pour les riders, BMX, VTT. Un seul site :
Little Big Trail : http://perso.wanadoo.fr/lbt/
---------------------------------------------

"Daniel.M" a écrit dans le message de
news:
Bonjour Leo,

Les changements de formats ne sont pas associés au moteur de re/calcul
d'Excel.


Il faut reconsidérer ton approche.
Au lieu de colorer les cellules, Tu pourrais mettre un chiffre
significatif dans

une autre cellule2. Tu peux même avoir un événement Change (ou une
Mise en



Forme
Conditionnnelle) qui en profitera pour colorer lui-même les cellules1
dépendant

du chiffre dans la cellule2.
Ensuite, des formules très rapides (parce qu'elles utilisent les
fonctions



natives d'Excel et non plus des fonctions VBA) peuvent te renseigner
très



rapidement sur tes données.

Donc, combien de couleurs as-tu? Et quelles sont les raisons pour
lesquelles

colores-tu tes cellules, qu'est-ce que ça veut dire une cellule verte
(ou



rouge)?

Salutations,

Daniel M.

"Leo" wrote in message
news:cbcrnv$bu2$
Bonjour,
voici une fonction, qui renvoi le n° de couleur d'une cellule.

Function coulcell(plage As Range) As Integer
Application.Volatile
coulcell = plage.Font.ColorIndex
End Function

malheureusement, si je change la couleur de cette cellule, le
recalcul




ne se
fait pas.
Il faut valider la formule à chaque fois .

Comment faire ??????????

Merci d'avance,
--


Amicalement,
Leo
---------------------------------------------
Pour les riders, BMX, VTT. Un seul site :
Little Big Trail : http://perso.wanadoo.fr/lbt/
---------------------------------------------