voilà je souhaite faire la somme des celulles de couleur dans une plage de
données Excel.
pour cela j'utilise cette fonction : CouleurCell(Range,Optional couleur)
et le cade macro suivant
Code :
Function CouleurCell(Range, Optional couleur)
Dim Cell As Object
For Each Cell In Range
If Cell.Interior.ColorIndex = couleur Then _
CouleurCell = CouleurCell + Cell
Next Cell
End Functioncependant pour réactualiser après modification de la couleur je
suis obligé de double cliquer sur la cellule ou s'effectue le calcul.
Auriez-vous une solution à m'apporter
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
Ce typoe de fonction est à déconseiller : le changement de format (couleur, type de police...) n'entraine pas de recalcul de la part d'XL d'où l'obligation, pour avoir un résultat correct, de réactualiser ou d'utiliser une proc évènementielle, ce qui, évidemment, n'améliore pas la "performance" .... La bonne question à se poser serait de savoir pourquoi telle cellule est de telle couleur et, la cause ainsi définie, il te sera possible de trouver la formule adéquate pour décompter.
AV
Ce typoe de fonction est à déconseiller :
le changement de format (couleur, type de police...) n'entraine pas de recalcul
de la part d'XL d'où l'obligation, pour avoir un résultat correct, de
réactualiser ou d'utiliser une proc évènementielle, ce qui, évidemment,
n'améliore pas la "performance" ....
La bonne question à se poser serait de savoir pourquoi telle cellule est de
telle couleur et, la cause ainsi définie, il te sera possible de trouver la
formule adéquate pour décompter.
Ce typoe de fonction est à déconseiller : le changement de format (couleur, type de police...) n'entraine pas de recalcul de la part d'XL d'où l'obligation, pour avoir un résultat correct, de réactualiser ou d'utiliser une proc évènementielle, ce qui, évidemment, n'améliore pas la "performance" .... La bonne question à se poser serait de savoir pourquoi telle cellule est de telle couleur et, la cause ainsi définie, il te sera possible de trouver la formule adéquate pour décompter.
AV
JB
Bonjour,
On recalcule le tableau seulement si on a sélectionné la (ou les) cellule(s) contenant la fonction perso.
Dim celluleAvant Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not IsEmpty(celluleAvant) Then If Not Intersect(Range(celluleAvant), [B2:G3]) Is Nothing Then Calculate End If celluleAvant = Target.Address End Sub
voilà je souhaite faire la somme des celulles de couleur dans une plage de données Excel.
pour cela j'utilise cette fonction : CouleurCell(Range,Optional couleur)
et le cade macro suivant
Code : Function CouleurCell(Range, Optional couleur) Dim Cell As Object For Each Cell In Range If Cell.Interior.ColorIndex = couleur Then _ CouleurCell = CouleurCell + Cell Next Cell End Functioncependant pour réactualiser après modification de la coul eur je suis obligé de double cliquer sur la cellule ou s'effectue le calcul. Auriez-vous une solution à m'apporter
d'avance merci bcp DAVID
Bonjour,
On recalcule le tableau seulement si on a sélectionné la (ou les)
cellule(s) contenant la fonction perso.
Dim celluleAvant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsEmpty(celluleAvant) Then
If Not Intersect(Range(celluleAvant), [B2:G3]) Is Nothing Then
Calculate
End If
celluleAvant = Target.Address
End Sub
On 21 avr, 08:15, "treets" <nospam.tre...@free.fr> wrote:
Bonjour à tous
voilà je souhaite faire la somme des celulles de couleur dans une plage de
données Excel.
pour cela j'utilise cette fonction : CouleurCell(Range,Optional couleur)
et le cade macro suivant
Code :
Function CouleurCell(Range, Optional couleur)
Dim Cell As Object
For Each Cell In Range
If Cell.Interior.ColorIndex = couleur Then _
CouleurCell = CouleurCell + Cell
Next Cell
End Functioncependant pour réactualiser après modification de la coul eur je
suis obligé de double cliquer sur la cellule ou s'effectue le calcul.
Auriez-vous une solution à m'apporter
On recalcule le tableau seulement si on a sélectionné la (ou les) cellule(s) contenant la fonction perso.
Dim celluleAvant Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not IsEmpty(celluleAvant) Then If Not Intersect(Range(celluleAvant), [B2:G3]) Is Nothing Then Calculate End If celluleAvant = Target.Address End Sub
voilà je souhaite faire la somme des celulles de couleur dans une plage de données Excel.
pour cela j'utilise cette fonction : CouleurCell(Range,Optional couleur)
et le cade macro suivant
Code : Function CouleurCell(Range, Optional couleur) Dim Cell As Object For Each Cell In Range If Cell.Interior.ColorIndex = couleur Then _ CouleurCell = CouleurCell + Cell Next Cell End Functioncependant pour réactualiser après modification de la coul eur je suis obligé de double cliquer sur la cellule ou s'effectue le calcul. Auriez-vous une solution à m'apporter