[RESOLU]Simplifier calcul cout personnel avec fonction matcoul sans ligne de réf

  • Initiateur de la discussion Initiateur de la discussion Scoty
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Scoty

XLDnaute Occasionnel
Bonjour le forum,

Soit un calcul de cout du personnel réalisé avec une condition de date, couleur et paramètre de la personne (centre de cout et catégorie). Dans le premier exemple qui marche, il est utilisé une ligne de référence (L4) ainsi qu'une fonction MATCOUL (donnée par Job75).

Ce que je souhaiterai: simplifier le tableau en supprimant cette ligne de référence.

J'ai tenté 2 essais:
- En développant la valeur recherché de l'EQUIV de la formule qui marche avec la ligne de référence
- en tentant avec le sommeprod de faire un calcul matricielle avec une recherchev pour créer une matrice dimension 12x1.

Je pense que mon problème de base est de créer une matrice 12x1 avec 3 entrées dont 2 fixes: ( catégorie et centre de cout) et une variable en fonction de la couleur de la cellule.

Merci beaucoup pour votre aide.

@+ Scoty
 

Pièces jointes

Dernière édition:
Re : Simplifier calcul cout personnel avec fonction matcoul sans ligne de réference

Bonjour Scoty,

Il suffisait de remplacer la fonction scalaire Couleur par une fonction matricielle :

Code:
Function Couleur(Pcoul As Range)
Dim mat&(), n&
ReDim mat(1 To Pcoul.Count)
For Each Pcoul In Pcoul
  n = n + 1
  mat(n) = Pcoul.Interior.ColorIndex
Next
Couleur = mat 'vecteur ligne des codes couleurs
End Function
Fichier joint, voyez les formules en S4:S5 et V4:V5.

L'ancienne ligne 4, devenue inutile, a été supprimée.

Edit : on aura remarqué que pour définir "A" ou "B" j'utilise CAR(65+(Couleur($E4:$P4)<>44))

On peut aussi utiliser REPT("A";Couleur($E4:$P4)=44)&REPT("B";Couleur($E4:$P4)<>44)

Voir fichier (1 bis).

On pourrait utiliser SI(xxx;"A";"B") mais alors il faudrait une validation matricielle.

A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
2 K
Retour