Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

francoiscormier87

XLDnaute Nouveau
Bonjour j'ai glissé un fichier excel que j'ai préparer. En fait, j'ai longtemps lu sur le sujet, mais chacun ne traite pas de ce que je voudrais fait. En fait, j'aimerai calculer selon les cellule que je mettrait en couleur la somme total mais des cellules à l'intérieur. J'ai plusieurs code de couleurs.

Ex: cellule de couleur jaune A:1 = 3
Cellule de couleur jaune A:5 = 2

donc total de cellule jaune = 5

Merci,

Le fichier joint va pouvoir vous aider.
 

Pièces jointes

  • soumission.xlsx
    12.9 KB · Affichages: 109

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

Bonsoir francoiscormier87, et bienvenu sur XLD :) , Yaloo :)

Un essai avec une fonction personnalisée : CouleurFond(x As Range)

CouleurFond prend comme paramètre une cellule unique ou bien une plage contiguë de cellules.

CouleurFond retourne :
  • soit un nombre représentant la couleur de fond de la cellule en entrée.
  • soit une matrice de la même dimension que la plage d'entrée dont chaque élément est la couleur de fond de la cellule correspondante de la plage d'entrée.

ATTENTION: le changement de couleur d'une cellule ne déclenche pas un évènement interceptable. Pour le tester, sélectionner la cellule C3, changer sa couleur en rouge, les sommes demeurent inchangées. Tapez maintenant sur la touche de fonction F9 (recalcul de la feuile) => les sommes sont mises à jour.
Donc si vous modifiez des couleurs au sein du tableau ou bien changez des couleurs de référence, il faut appuyer sur F9 pour forcer le recalcul.

Dans le tableau joint, CouleurFond est employée avec SOMMEPROD pour calculer les sommes selon la couleur de fond:
Code:
=SOMMEPROD((CouleurFond($C$3:$C$19)=CouleurFond(E23))*($C$3:$C$19))

le Code de la fonction CouleurFond :
VB:
Function CouleurFond(x As Range)
Application.Volatile
Dim i, j
  If x.Count = 1 Then
    CouleurFond = x.Interior.Color
  Else
    ReDim t(1 To x.Rows.Count, 1 To x.Columns.Count)
    For i = 1 To x.Rows.Count
      For j = 1 To x.Columns.Count
        t(i, j) = x(i, j).Interior.Color
      Next j
    Next i
    CouleurFond = t
  End If
End Function
 

Pièces jointes

  • Retourner Couleur Fond Plage Cellule v1.xlsm
    20.8 KB · Affichages: 61
Dernière édition:

st007

XLDnaute Barbatruc
Re : Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

Bonjour,

Sur l'idée de Yaloo
edit :l'option de Mapomme est plus simple, car la couleur est définie par une autre cellule,


J'avais pas rafraichi, oops
 

Pièces jointes

  • soumission.xlsm
    19.1 KB · Affichages: 83
  • soumission.xlsm
    19.1 KB · Affichages: 79
  • soumission.xlsm
    19.1 KB · Affichages: 81
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

Bonjour à tous,

Salut mapomme :) : pourquoi passer par une fonction SommeProd, ça me parait compliqué :eek:

Avec la fonction dont je parlais plus haut + une macro permettant de mettre le N° de la couleur dans la cellule correspondante.

A+

Martial
 

Pièces jointes

  • soumission.xlsm
    20.3 KB · Affichages: 61
  • soumission.xlsm
    20.3 KB · Affichages: 67
  • soumission.xlsm
    20.3 KB · Affichages: 60

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

Bonjour à tous, Yaloo :)

pourquoi passer par une fonction SommeProd, ça me parait compliqué

C'est vrai que je n'ai pas répondu directement à la question posée. J'ai juste essayé de présenter une fonction un peu plus générale qui retourne la couleur de fond d'une cellule ou d'une plage et comment on peut l'utiliser (en tant que résultat matricielle) via un sommeprod par exemple.
 

francoiscormier87

XLDnaute Nouveau
Re : Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

Bonjour, j'aimerais savoir par la même occasion s'il est possible de configurer une ligne en haut qui s'ajoute automatiquement. Exemple. Lorsque les 22 lignes sont tous rempli pour éviter au utilisateur de faire insérer une ligne le but état de garder la formule idem. Merci.
 

Yaloo

XLDnaute Barbatruc
Re : Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

Bonjour à tous,

Le mieux serait peut-être de mettre les formules à droite de ton tableau.

Ensuite mettre une macro évènementielle permettant de rajouter une ligne lorsque la ligne 2 est remplie complètement.

Est-ce que ça pourrait aller ?
 

Yaloo

XLDnaute Barbatruc
Re : Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

Re,

Voici ton fichier modifié, quelques modifications :

1 - Déplacement des formules à droite de ton tableau.

2 - Création d'une macro permettant d'insérer une ligne juste sous la ligne de titre, la marco ajoute cette ligne lorsque les 6 première colonnes sont remplies, on peut bien sûr changer cela, faire la totalité de la ligne ou seulement les 3 première colonnes. A toi de me dire.

3 - Ajout d'une Plage définit dans "Formules" puis "Gestionnaire de nom", je l'ai appelé PlageCouleur. C'est une plage dynamique, donc à chaque fois que cela ajoute une ligne la plage se redéfinit.

4 - Modification de la plage dans les formules de calcul pour y insérer la nouvelle plage. Comme la plage est dynamique il n'y a rien à faire au niveau des formules.

A+

Martial
 

Pièces jointes

  • soumission V1.xlsm
    22.3 KB · Affichages: 58

francoiscormier87

XLDnaute Nouveau
Re : Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

Je peu maintenant dire que j'ai un idole Excel, Wow !!!! je suis tout simplement jaloux, mes amis savent que je suis un craque d'Excel, mais après ce que vous fait en VBA, je me rend compte que j'ai des croutes à mangé ... :D

J'adore le Version, mais j'ai remarqué un mini problème, est-ce possible de mes les formules sur un ligne ou colonne qui ne sera pas affecté si je dois supprimer une ligne. Par exemple, une fois que j'aurais 50 nom, je vais surment vouloir supprimer cette ligne, j'ai fait le test et je supprimes les première ligne, je supprime les formule qui sont sur les colonne a côté. La solution pour la ligne qui s'ajoute serait de la mettre à la fin, mais pour les première ligne je ne sais pas comment vous pourriez faire. Merci encore pour votre aide, cela est très grandement apprécié.

Cordialement, François
 

Yaloo

XLDnaute Barbatruc
Re : Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

Salut François,

Pas de "vous" entre-nous ;) un "tu" suffira amplement :D

Voir avec le fichier ci-joint, les données sont en Feuil2. Avec l'outil "Appareil photo" il suffit de copier les cellules souhaitées puis de coller où l'on souhaite, ça créé une image. Ensuite on la travaille comme une image, donc on peut mettre un cadre, on peut (ce qui t'intéresse) "ne pas modifier ou déplacer avec les cellules" etc... si tu insères ou supprimes des lignes les images ne bougent pas, mais les cellules sont quand même mises à jour.

A+

Martial
 

Pièces jointes

  • soumission V1.1.xlsm
    33.9 KB · Affichages: 55

francoiscormier87

XLDnaute Nouveau
Re : Calcul de la sommes des cases de couleurs (chiffre intérieur au cellule)

Hey Yalo c'est formidable ton truc, dernière choses, est-ce possible de crée une formule pour que la ligne qui s'ajoute prenne exactement la mise en forme établi. Je t'explique,

Dans le champ moment, je veux : Matin, Après-Midi, Soir
Dans le champ Type: Vert, Bleu, Rouge, Jaune
Dans le champ Intérêt : Potentiel, Concurrentiel, Prochainement,

Je sais que nous somme en mesure de créee un un choix il me faudrais seulement un tableau qui me permettent au préalable de changer les choix, mais surtout que lorsque les lignes s'joute qui prenne la mise en forme.

Merci,

Avec cela le tout serait complet :)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise