Excel, somme cellules uniques texte en couleur

Résolu/Fermé
jps.forum Messages postés 49 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 7 janvier 2015 - Modifié le 2 déc. 2007 à 21:30
 Akjmr24 - 6 févr. 2020 à 11:51
Bonjour,
Pour la gestion d'une association, j'enregistre dans une colonne les dépenses (chiffres en noir dans la cellule). Quand je reçois le relevé de banque je passe les débits en bleu ou en rouge.

Question comment faire pour avoir uniquement la somme des cellules avec les montants en rouge, idem pour celles en bleu, idem pour celle en noir.
Merci pour vos réponses

Jean Paul
A voir également:

19 réponses

gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 647
30 nov. 2007 à 18:53
bonjour

Il n'existe pas de fonction permettant de cumuler en fonction des couleurs de la police mais c'est possible avec une fonction personnalisée à mettre dans un module
Public Function cumul_couleur(plage As Range, col As Range)
Dim elm As Object
Application.Volatile
cumul_couleur = 0
For Each elm In plage
    If elm.Font.ColorIndex = col.Font.ColorIndex Then
        cumul_couleur = cumul_couleur + elm.Value
    End If
Next elm
End Function

Pour insérer cette fonction voir l'aide

Pour appeler cette fonction : cumul_couleur(plage à cumuler, cellule avec la couleur à cumuler)
7
salut gbinforme
Lorsque je fais un copie colle de ta fonction j'ai un message suivant
il est impossible de traiter votre question. soit microsoft excel ne trouve pas de fonction equivalente soit l'aide n'est pas installé..pourquoi..la fonction n'est pas bonne ou dois je activer quelque chose dans excel.
Merci pour ta réponse
0
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 647
11 juin 2012 à 21:22
bonjour lasconi88,

Tu n'as certainement pas tout lu correctement :
- la fonction est à mettre dans un module.
- si tu veux utiliser une macro il faut bien sûr qu'elles soient activées.
- une fonction ne pose jamais de question.

Tu as une procédure pour insérer correctement ta macro : l'as-tu regardée ?
0
Bonjour et merci pour ta réponse,

Voilà ce que j'ai fait:

Dans la fenêtre Microsoft bvisual basic, j'ai créé un module (en faisant insertion module) - une ligne Module1 apparait dans l'arborescence - après un double click sur la ligne module1, j'ai fait un copié collé de la fonction que j'ai reprise ci-dessus

Public Function cumul_couleur(plage As Range, col As Range)
Dim elm As Object
Application.Volatile
cumul_couleur = 0
For Each elm In plage
If elm.Font.ColorIndex = col.Font.ColorIndex Then
cumul_couleur = cumul_couleur + elm.Value
End If
Next elm
End Function

Ensuite j'ai fait, toujours dans la fenêtre Microsoft bvisual basic : fichiers / enregistrer "essai.xls
Ensuite je vais dans mon fichier "essai.xls"
Dans une case quelconque de mon fichier, je fais, Insertion Fonction, dans la fenêtre "insérer une fonction " qui s'ouvre, je choisi la catégorie "personnalisée" qui se trouve en fin de liste et là dans la fenêtre "sélectionner une fonction" apparaît la fonction "essai.xls!Module2.cumul_couleur" avec en bas le fameux message
"impossible de traiter votre question. soit microsoft excel ne trouve pas de fonction equivalente soit l'aide n'est pas installé"

J'ai zappé quelque chose
C'est quoi l'idée de macro dans tout ça?

Merci d'avance
0
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 647
12 juin 2012 à 18:34
bonjour lasconi88,

Tu fonctionnes avec quelle version d'exel ?

En fait il faut que le module où tu mets la fonction soit :
- le classeur où tu veux l'utiliser
- ou bien ton classeur "PERSO.xls"
0
merci pour tes infos
Cela fonctionne
0