Rechercher : dans
Par :

Excel, somme cellules uniqu. texte en couleur

Dernière réponse le 24 oct 2009 à 19:05:34 jps.forum, le 30 nov 2007 à 15:26:47 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.10

1

gbinforme, le 30 nov 2007 à 18:53:56
  • +1

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)
toujours zen

Répondre à gbinforme

2

jps.forum, le 1 déc 2007 à 15:18:31

Merci gbinforme pour ta réponse
Je maitrise bien excel 2003 mais c'est ma première macro!!
J'ai fais:
- outil, macros, nouvelle macros, nommer la macro (SCR), ok, la pettite fenêtre s'affiche, arreter l'enregistrement.
- outil, macros, macro, SCR, exécuter.
- dans Microsoft VB, "module 2", j'ai collé la macro.
Pour info, la plage des cellules dans la quelle je veux faire la somme des cellules (chiffre police rouge) est D18:AA225,
la cellule ou la somme doit s'afficher est F3.

Comment fait-on pour lancer la macro?
je viens de faire un contrôle et, outil, macros, macro il n'y a rien!!, j'ai du faire des bêtises......
comment fait-on pour tout supprimer ?



Merci pour la réponse

Répondre à jps.forum

3

gbinforme, le 1 déc 2007 à 18:03:54
  • +1

Bonjour

Pour appeler cette fonction : cumul_couleur(plage à cumuler, cellule avec la couleur à cumuler)

Pour info, la plage des cellules dans la quelle je veux faire la somme des cellules (chiffre police rouge) est D18:AA225,
la cellule ou la somme doit s'afficher est F3.


en F3  =cumul_couleur( D18:AA225;A1)


Tu remplaces A1 par une cellule, n'importe laquelle qui ait la police en rouge, car c'est pour récupérer le code couleur et tu peux la prendre dans la plage de cumuls mais une seule cellule.

Pour les "bleus" tu remplaces A1 par une cellule qui ait la police en bleu et idem pour les noirs ou d'autres couleurs.

Attention c'est l'index de couleur exact qui est pris en compte et si tu as des bleus clairs, marine et autres, seules les polices avec le "bon" bleu, celui de la cellule choisie, seront pris en compte.

Comment fait-on pour lancer la macro?
On ne la lance pas elle fonctionne exactement comme une autre fonction, SOMME par exemple et si tu passes une cellule en police rouge le résultat se mettra à jour automatiquement si tu es en calcul automatique sinon avec F9.
toujours zen

Répondre à gbinforme

4

jps.forum, le 1 déc 2007 à 19:37:57

Merci gbinforme ça marche......

Une autre question peut-on renommer la macro? en SCR par exemple et comment faire?
Si j'ai bien compris quand je change la couleur d'une cellule le recalcul n'est pas lancé automatiquement.
Il me semble qu'il existe un raccourci clavier pour lancer un recalcul de la feuille tu le connais?
Merci encore pour ton aide
Jean Paul

Répondre à jps.forum

5

gbinforme, le 1 déc 2007 à 22:10:15

Bonjour

Une autre question peut-on renommer la macro? en SCR par exemple et comment faire?

La macro qui s'appelle "cumul_couleur" peut être renommée en "SCR" et pour cela il faut ouvrir l'éditeur VBA puis sur la feuille qui la contient faire menu edition / remplacer ou ctrl + h et remplacer tout puis changer les appels formules.

Il me semble qu'il existe un raccourci clavier pour lancer un recalcul de la feuille tu le connais?

oui tout à fait comme je t'avais dit " si tu es en calcul automatique sinon avec F9. " Pour mettre le calcul automatique, menu outils / options /onglet calcul et cocher automatique puis "ok". Ensuite, dès que tu colores c'est à jour !
toujours zen

Répondre à gbinforme

6

jps.forum, le 2 déc 2007 à 18:22:36

merci gbinforme pour toutes tes réponses, qui m'ont bien dépannées
Cordialement
Jean Paul

Répondre à jps.forum

7

jps.forum, le 2 déc 2007 à 18:50:07

Gbinforme le recalcul ne marche pas

Je suis bien en calcul auto!!!, si je fais F9 c'est pareil pas de recalcul.
Il faut que je ferme excel et le relancer pour qu'il y est un recalcul
Par contre si je suis dans: outil - option - calcul et je fais un clic sur calculer maintenant, ça fait un recalcul.

à+

Répondre à jps.forum

8

gbinforme, le 2 déc 2007 à 21:30:44

Bonjour

je fais un clic sur calculer maintenant, ça fait un recalcul. si je fais F9 c'est pareil pas de recalcul.

Curieux car ta touche F9 ne doit pas fonctionner car si tu regardes c'est "calculer maintenant (F9)"

Même en calcul automatique il est possible que le changement de couleur ne déclenche pas le calcul mais F9 devrait.

Essaie de faire F2 et entrée sur n'importe qu'elle cellule, cela devrait aussi déclencher le calcul.

toujours zen

Répondre à gbinforme

9

christobald2, le 12 oct 2009 à 11:57:37

Bonjour gbinforme,

en exécutant tes consignes, je n'arrive pas à obtenir un résultat.
L'erreur qui m'est affichée est "Erreur due à un nom non valide".

J'ai pourtant collé la macro dans le module 2, et fait appel à la finction dans la cellule : =cumul_couleur(A2:A5;A1)

Merci de ton aide
Christophe

Répondre à christobald2

10

gbinforme, le 12 oct 2009 à 22:27:50

Bonjour

Tu as quelle version excel ?

L'erreur t'ai affichée pour quelle action ?
Toujours zen

Répondre à gbinforme

11

christobald2, le 24 oct 2009 à 16:56:52

Merci zen de m'aider, et désolé pour le retard !

J'ai une version de Excel 2003.

L'erreur apparait lorsque j'écris la formule dans la cellule. "=cumul_couleur(A2;A3:A10)"

Merci de ton aide,
Christophe

Répondre à christobald2

12

 gbinforme, le 24 oct 2009 à 19:05:34

Bonjour

As-tu inséré la fonction dans un module ?
Toujours zen

Répondre à gbinforme