> Tous les forums > Forum Bureautique
 Somme si couleur ?Sujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Marbach
  Posté le 18/07/2016 @ 16:55 
Aller en bas de la page 
Petit astucien

Bonjour à tous

J'utilisais, sous XP, Exoutils pour faire mes sommes de chiffres en couleur bleue.

Avec W10, Exoutils ne passe pas.

Ne pourrais-t-on pas créer une macro pour la cellule de destination tout simplement ?

Genre : Somme A 5 / A 250 si bleu.

@+ BACH

Publicité
ferrand
 Posté le 18/07/2016 à 20:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Une fonction personnalisée qui fait la somme dans la plage indiquée à la fonction des cellules dont la couleur de fond est la même que celle qui contient la formule :

Function SOMMECOUL(plage As Range)
Dim c As Range, coul As Long, tot
Application.Volatile
coul = Application.Caller.Interior.Color
For Each c In plage
If c.Interior.Color = coul Then
If IsNumeric(c.Value) Then tot = tot + c.Value
End If
Next c
SOMMECOUL = tot
End Function

Cordialement.

Marbach
 Posté le 19/07/2016 à 00:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir, Ferrand

Merci de ta réponse, mais je n'ai pas été assez précis.

Il s'agit de la couleur de police et non de celle de fond.

J'ai des chiffres noirs, rouges et bleu.

Le but de la manœuvre est de faire la somme des bleus exclusivement de la ligne 5 à 250, par exemple.

Peux-tu me rédiger la macro pour que je puisse la copier/coller directement dans mes tableaux ?

Par avance, merci.

@+ BACH

ferrand
 Posté le 19/07/2016 à 09:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Même principe ! Mais avec la couleur de police...

Function SOMMECOULTXT(plage As Range)
Dim c As Range, coul As Long, tot
Application.Volatile
coul = Application.Caller.Font.Color
For Each c In plage
If c.Font.Color = coul Then
If IsNumeric(c.Value) Then tot = tot + c.Value
End If
Next c
SOMMECOULTXT = tot
End Function

gilbert_rgi
 Posté le 19/07/2016 à 09:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

voici une fonction perso

http://www.cjoint.com/c/FGth3gUkQ71

ferrand
 Posté le 19/07/2016 à 14:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut Gilbert,

Je préfère la mienne !

Color plus en accord avec les versions d'Excel depuis 2007 que ColorIndex (palette en vigueur jusqu'à Excel 2003).

On n'a pas à fournir la couleur de référence en argument de la fonction, il suffit de l'affecter à la couleur de police de la cellule et il n'y a pas d'ambiguïté...

Et elle est plus courte pour arriver au même résultat.

Et il n'y a guère d'utilité à la doubler par une évènementielle pour lancer le recalcul : si un changement de couleur ne déclenche pas de recalcul, un changement de valeur, si...

Cordialement.

gilbert_rgi
 Posté le 19/07/2016 à 21:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Comme ça à Marbach de faire son choix

Salutations Ferrand sr

gilbert

Marbach
 Posté le 20/07/2016 à 00:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci, Ferrand

Seul (petit) problème : y dont speak english !

Function SOMMECOULTXT(plage As Range)
Dim c As Range, coul As Long, tot
Application.Volatile
coul = Application.Caller.Font.Color
For Each c In plage
If c.Font.Color = coul Then
If IsNumeric(c.Value) Then tot = tot + c.Value
End If
Next c
SOMMECOULTXT = tot
End Function

Avec mes quelques notions, je subodore que la plage des cellules concernées est (plage As Range).

Précises-moi pour un choix colonne E, lignes 5 à 250.

C'est bien pour les beus, exclusivement ?

Ensuite, il me suffit de coller cette formule dans la case "total" ?

Je sais, je suis nul et il faut m'expliquer longtemps !

@+ BACH

ferrand
 Posté le 20/07/2016 à 01:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Si la plage sur laquelle tu veux compter est E5:E250, tu mets quelque part la formule :

=SOMMECOULTXT(E5:E250)

Et tu mets la cellule résultat (qui accueille la formule) avec la couleur de police que tu veux compter dans la plage...

Vois l'exemple :

http://www.cjoint.com/c/FGtxyBskTYy

Cordialement.

Publicité
Marbach
 Posté le 20/07/2016 à 23:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir, Ferrand

Il y a un os !

Ton exemple ne veut pas s'ouvrir.

De plus, je n'ai rien compris.

La nouvelle formule, je la mets ou ?

Comment je mets la couleur dans la précédente ?

@+ BACH

ferrand
 Posté le 21/07/2016 à 01:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Je le remets !

La fonction est à coller dans un module standard pour être utilisable.

http://www.cjoint.com/c/FGuxCA1eTZy

edit: PB avec cjoint semble-t-il ! Il le transforme en xlsx...



Modifié par ferrand le 21/07/2016 01:34
ferrand
 Posté le 21/07/2016 à 01:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

http://www.cjoint.com/c/FGuxIqgCr3y

Nouvel essai. Ok ! ça fonctionne.

Tu l'enregistres, tu modifies l'extension .zip en .xlsm, puis tu l'ouvres...



Modifié par ferrand le 21/07/2016 01:37
gilbert_rgi
 Posté le 21/07/2016 à 09:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Pas si facile ta function mon cher Ferrand

ce qui est évident pour nous ne l'est pas pour tous le monde

ferrand
 Posté le 25/07/2016 à 10:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Il s'agit de savoir maintenant si parvenue à destination

Marbach
 Posté le 25/07/2016 à 18:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re, Ferrand

Ce qui est très évident pour toi ne l'est absolument pas pour moi.

Je n'ai rien compris !

J'ai une feuille de tenue de mon compte bancaire.

Il y a deux colonnes, une pour les débits, en rouge, une pour les crédits en noir.

Lorsque je reçois mon relevé mensuel bancaire, je peints en bleu les chiffres qui y figurent.

En bas de tableau, je peux comparer les chiffres du relevé, voir les opérations qui n'ont pas encore été traitées par mon banquier.

Livre (ce qui sera) 31 345,10 31 349,94 4,84

Banque (relevé) 28 755,44 29 379,10 623,66

Ecart Banque/livre (relevé) 2 589,66 1 970,84 -618,82

Budget (ce qui sera) 31 137,68 31 160,67 22,99

Ecart Budget / livre dans la poche 207,42 189,27 18,15

Net (ce qu'ils savent) 28 755,44 29 379,10 623,66

Ecart Net/relevé Ecart Net/livre 2 589,66 -2 589,66

Je fais aussi un pointage de mon comte en rose sur le net.

La macro est la même sauf le code couleur.

A ta disposition pour toutes informations complémentaires.

@+ BACH



Modifié par Marbach le 25/07/2016 18:47
Marbach
 Posté le 26/08/2016 à 00:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir à tous

Microsoft Office est payant !

Je l'ai abandonné au profit d'OpenOffice, ça ne résout pas mes problèmes mais ça change la donne.

J'abandonne les "somme si couleur" en créant d'autres colonnes, restera toujours la macro a écrire sous Open.

ça va pas être de la tarte, faut déjà que je modifie mes fichiers.

@+ BACH

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
somme suivant couleur
Somme Couleur Fond
Somme plage de cellules en fonction couleur fond
Excel : somme si couleur = noir
Avoir une somme de cellule par couleur
Mettre en couleur les jours
Excel formule somme à critères variables
Changer la couleur de fond d'un événement dans le calendrier
calculer en fonction ce la couleur des cellules
Couleur de cellule
Plus de sujets relatifs à Somme si couleur ?
 > Tous les forums > Forum Bureautique