Somme et couleur

pikous

XLDnaute Nouveau
Bonjour,

Je souhaite faire le total d'une colonne qui ne prenne en compte que les cellules colorées mais alors là, je suis perdu !
 

ftho

XLDnaute Occasionnel
Re : Somme et couleur

Bonjour,

A moins qu'un(e) Mc Gyver(euse) te sorte une formule, il me semble qu'il va falloir passer par un petit bout de code

Exemple : supposons la colonne A
Code:
Sub Som_cel_coul()
Dim i As Integer, Tot As Long
Tot = 0

For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1).Interior.ColorIndex = 6 Then
Tot = Tot + Cells(i, 1)
End If
Next

MsgBox "le total des cellules de couleur jaune est de : " & Tot
End Sub
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Somme et couleur

Bonjour,

Code:
Function SommeCouleurFond(champ As Range, couleurFond)
   Application.Volatile
   Dim c, temp
   temp = 0
   For Each c In champ
     If c.Interior.ColorIndex = couleurFond Then
       If IsNumeric(c.Value) Then temp = temp + c.Value
     End If
   Next c
   SommeCouleurFond = temp
End Function

-Lorsque la couleur de fond est modifiée, le résultat n'est pas mis à jour immédiatement (sauf si on utilisé le pinceau pour reproduide la mise en forme).
La MAj se fait lorsque lorsqu'un calcul est activé (option volatile)
-On peut utiliser F9 pour provoquer un calcul immédiat ou utiliser l'événnement Selection_Change

Code:
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

JB
Formation Excel VBA JB
 

Pièces jointes

  • FonctionSommeCouleurFondx.xls
    41 KB · Affichages: 97

Membres actuellement en ligne

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal