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
Akjmr24 - 6 févr. 2020 à 11:51
A voir également:
- Excel somme si couleur police
- Liste déroulante excel - Guide
- Somme si couleur - Guide
- Formule excel - Guide
- Police facebook - Guide
- Police instagram - Guide
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
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
Pour insérer cette fonction voir l'aide
Pour appeler cette fonction : cumul_couleur(plage à cumuler, cellule avec la couleur à cumuler)
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)
11 juin 2012 à 11:05
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
11 juin 2012 à 21:22
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 ?
12 juin 2012 à 13:37
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
12 juin 2012 à 18:34
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"
18 juin 2012 à 08:33
Cela fonctionne