Bonjour.
tout d'abord je préviens je suis novice avec excel.
Voilà mon problème j'ai un tableau à remplir tout les mois dans le quel j'ai des cellules de différente couleur, rouge affaires perdues verte affaires prises.
Mon problème est le suivant je souhaite dans une cellule aditionné uniquement les affaires prises ( celle en verte dans mon tableau ) et dans une autre les affaires perdue ( celle en rouge dans mon tableau ).
Je ne sais pas si je me suis bien fait comprendre si vous avez besion d'autre info n'hésité pas.
PS:Comment je peut joindre un exemple de mon tableau pour facilité la vie à tout le monde??
Merci d'avance.
Les fonctions, de type somme ou autres, interviennent sur le CONTENU des cellules et ne se soucient pas du CONTENANT ni de son FORMAT. Autrement dit, tu ne peux pas additionner des cellules sous prétexte que leur format est en vert ou en rouge.
06/12/2010 - 10h12
bzh_nicolas
Date d'inscription
avril 2010
Messages
1 708
Re : Excel
Tu peux le faire mais il va falloir passer par les macros.
Edit : tu veux additionner les valeurs dans les cellules ou compter le nombre de rouge et de vert ?
06/12/2010 - 10h19
Philou67
Date d'inscription
janvier 2006
Localisation
Krùmm Elsàss
Âge
47
Messages
17 030
Re : Excel
Tu as peut-être une colonne spécifique qui indique (en dehors de la couleur), si une affaire est prise ou perdue ? Dans ce cas, tu pourras utiliser cette colonne et la fonction somme.si pour faire le cumul qui t'intéresse.
Plus j'apprends, et plus je mesure mon ignorance
06/12/2010 - 10h20
DomiM
Date d'inscription
juillet 2006
Localisation
Nîmes
Âge
55
Messages
2 767
Re : Excel
Envoyé par pelkin
Les fonctions, de type somme ou autres, interviennent sur le CONTENU des cellules et ne se soucient pas du CONTENANT ni de son FORMAT. Autrement dit, tu ne peux pas additionner des cellules sous prétexte que leur format est en vert ou en rouge.
Erreur,
on peut trier par couleur de Police et ensuite sélectionner tout ce qui est rouge ou vert facilement pour en faire une somme ou autre chose
Mesurer la masse de la situation permettrait de connaitre sa gravité :)
Et comment fait-on pour trier de la sorte ?
D'ailleurs : trier ou filtrer ?
Plus j'apprends, et plus je mesure mon ignorance
06/12/2010 - 10h37
DomiM
Date d'inscription
juillet 2006
Localisation
Nîmes
Âge
55
Messages
2 767
Re : Excel
Envoyé par Philou67
Et comment fait-on pour trier de la sorte ?
D'ailleurs : trier ou filtrer ?
Excel 2007 onglet Acceuil / trier et filtrer / Trier sur / Couleur de Police
Mesurer la masse de la situation permettrait de connaitre sa gravité :)
06/12/2010 - 11h02
DomiM
Date d'inscription
juillet 2006
Localisation
Nîmes
Âge
55
Messages
2 767
Re : Excel
Une petite macro VBA qui appelle cette fonction
Code:
Function SommeCouleurD(co)
x = 0
For i = 1 To 100
If Range("D" & i).Font.Color = co Then
x = x + Range("D" & i)
End If
Next i
SommeCouleurD = x
End Function
Mesurer la masse de la situation permettrait de connaitre sa gravité :)
06/12/2010 - 12h09
Philou67
Date d'inscription
janvier 2006
Localisation
Krùmm Elsàss
Âge
47
Messages
17 030
Re : Excel
Envoyé par DomiM
Excel 2007 onglet Acceuil / trier et filtrer / Trier sur / Couleur de Police
Cette fonction n'existe pas en 2003... je trouve d'ailleurs étrange une telle fonction. Une fois triée, comment fait tu pour différencier les zones à additionner ? Tu les sélectionnes à la main ? Ou bien le tri sert aussi pour filtrer ?
Plus j'apprends, et plus je mesure mon ignorance
06/12/2010 - 17h00
DomiM
Date d'inscription
juillet 2006
Localisation
Nîmes
Âge
55
Messages
2 767
Re : Excel
Envoyé par Philou67
Cette fonction n'existe pas en 2003... je trouve d'ailleurs étrange une telle fonction. Une fois triée, comment fait tu pour différencier les zones à additionner ? Tu les sélectionnes à la main ? Ou bien le tri sert aussi pour filtrer ?
J'ai oublié une étappe
Excel 2007 onglet Acceuil / trier et filtrer / Tri personnalisé / Trier sur / Couleur de Police
Une fois trié par couleur, on utilise la sélection avec la touche shift du clavier
donc un clic sur le premier rouge, un appuie sur shift tout en cliquant sur le dernier rouge.
Ensuite on clique sur Somme
Mesurer la masse de la situation permettrait de connaitre sa gravité :)
07/12/2010 - 00h18
cedric047
Date d'inscription
novembre 2010
Messages
21
Re : Excel
Bonsoir ou bonjour maintenant.
Pour répondre à Philou67 je n'est pas d'autre colonne c'est la couleur des cellule qui nous dit si une affaire est prise ou perdu( c'est lourd à remplir je sais mais le chef à toujours raison ).et donc pour répondre à tout les autres je veut aditionner les valeurs dans cellules verte et les valeurs dans les cellules rouges ma police doit rester noir (toujours le chef).
J'ai trouver des piste sur le net ou il faut passé par la création de macro comme le suggère beaucoup d'entre vous mais la je ne maitrise pas grands chose comment crée une macro pour commencer....
exemple de la macro ou module (je ne fait pas trop la différence) trouvé:
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
Merci d'avance
Dernière modification par JPL ; 07/12/2010 à 14h25.
Motif: Ajout de la balise Code (#)
07/12/2010 - 09h47
Philou67
Date d'inscription
janvier 2006
Localisation
Krùmm Elsàss
Âge
47
Messages
17 030
Re : Excel
Entre nous, tu peux très bien créer un colonne contenant l'information "prise" ou "perdue" (le mieux étant de nommer la colonne "prise" et d'y mettre vrai ou faux (ou 1 ou 0 ce qui est encore plus simple), et d'appliquer un style conditionnel sur les cellules à mettre en vert et en rouge en fonction de cette colonne (c'est très simple et ne nécessite pas de programmation de macro).
Ensuite, il est extrêmement simple, avec une formule SOMMEPROD ou SOMME.SI, d'addition les valeurs de chaque type d'affaire.
Regarde mon exemple (et dans le pire des cas, tu peux aussi masquer cette colonne).
Plus j'apprends, et plus je mesure mon ignorance
07/12/2010 - 10h13
bzh_nicolas
Date d'inscription
avril 2010
Messages
1 708
Re : Excel
Voici un code qui fait ce dont tu as besoin.
Pour l'enregistrer :
outils-->macro-->visual basic editor
tu colles le code dans "ThisWorbook"
Pour l'utiliser :
Sélectionne la plage de cellules de ton tableau qui contient les cellules colorées,
va dans :
outils-->macro-->macros...
Sélectionne la macro compte couleur et cliques sur "exécuter".
Précision : change la valeur des cellules ou s'affiche le résultat selon ton tableau.
La macro additionne les valeurs de toutes les cellules de la même couleur, donc si tu colores des lignes (respectivement colonnes) entières dans ton tableau, sélectionne une seule colonne (respectivement ligne) et pas tout le tableau.
Code:
Public Sub compte_couleur()
Dim cellule As Range
Dim wksht As Worksheet
Dim affaire_prise As Integer
Dim affaire_perdue As Integer
Dim oldcolor As Variant
Dim couleur_prise As Variant
Dim couleur_perdue As Variant
Dim rng As Range
'sauvegarde de la sélection
Set rng = Me.Windows.Application.Selection
affaire_prise = 0
affaire_perdue = 0
Set wksht = ThisWorkbook.ActiveSheet
'on sélectionne la première cellule (ça aurait put être n'importe laquelle)
wksht.Range("A1").Select
'sauvegarde sa couleur
oldcolor = ActiveCell.Interior.Color
MsgBox ("Choix de la couleur des affaires prises puis des affaires perdues")
Application.Dialogs(xlDialogPatterns).Show
couleur_prise = Selection.Interior.ColorIndex
Application.Dialogs(xlDialogPatterns).Show
couleur_perdue = Selection.Interior.ColorIndex
'on restaure la couleur d'origine de la cellule
ActiveCell.Interior.Color = oldcolor
For Each cellule In rng
'pour chaque cellule de la sélection
'on vérifie la couleur et on additionne
If (cellule.Value <> "") And (IsNumeric(cellule.Value)) Then
If (cellule.Interior.ColorIndex = couleur_prise) Then
affaire_prise = affaire_prise + cellule.Value
ElseIf (cellule.Interior.ColorIndex = couleur_perdue) Then
affaire_perdue = affaire_perdue + cellule.Value
End If
End If
Next
'affichage du résultat
wksht.Range("D2").Value = affaire_prise
wksht.Range("E2").Value = affaire_perdue
End Sub
07/12/2010 - 10h34
Philou67
Date d'inscription
janvier 2006
Localisation
Krùmm Elsàss
Âge
47
Messages
17 030
Re : Excel
Personnellement, je trouve "ridicule", voire "source d'erreur", que de comptabiliser des données en fonction de leur format. Il suffit qu'un jour, quelqu'un décide pour faire joli, de changer le ton de rouge et de vert, parce qu'il ne lui sied plus, pour que tout les calculs qui en découlent soient erronés.
Je préconise donc plutôt l'inverse : appliquer un format en fonction des données, et je suis sûr que "le chef" n'y aura rien à redire tant que la couleur est là ... (et en prime, il pourra choisir le ton de rouge qui lui convient, et en changer s'il le désire, et ce, sans perturber les calculs).
Plus j'apprends, et plus je mesure mon ignorance
09/12/2010 - 23h10
cedric047
Date d'inscription
novembre 2010
Messages
21
Re : Excel
Un grand merci à vous tous!
La solution de la colonnes supplémentaire à été refusé par le chef on ne change pas le format du tableau du chef......
mais grace à vous j'ai pus découvrir comment fonctionnait les macros et donc être un peut moins "pierre à feux" avec excel.
j'ai donc pu mettre en application la macros que j'avais trouvé sur le net et miracle ça marche j'avais l'outil sans le mode d'employe.
Maintenant ma curiosité ayant été piqué je me demande bien quel est la logique pour crée de tel macros mais ça c'est une autre histoire.
Je vais me creuser la tête et après si je ne pige toujours pas je ferait un nouveau poste
Encore une fois un grand merci à vous tous vous m'avez bien simplifier la vie.