Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…