Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Erreur formule matricielle #N/A

  • Initiateur de la discussion Initiateur de la discussion fenec
  • 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 !

fenec

XLDnaute Impliqué
Bonjour le forum,

Comme l'indique le titre je rencontre une erreur que je parviens pas à résoudre.
Dans mon tableau j'utilise cette formule qui fonctionne très bien (formule matricielle)

Code:
=SI(OU($B$7={"SD";"1 - SD";"2 - SD";"1 - 3x8";"2 - 3x8";"3 - 3x8";"1 - 5x8";"2 - 5x8";"3 - 5x8";"4 - 5x8";"5 - 5x8"});SOMME(SI(Calendrier!$D$3:$AK$33="SST";SI(JOURSEM(Calendrier!$B$3:$AI$33;2)>=1;0.5;"");0))*8;0)+SI(OU($B$7={"1 - 3x8";"2 - 3x8";"3 - 3x8";"1 - 5x8";"2 - 5x8";"3 - 5x8";"4 - 5x8";"5 - 5x8";"SD";"1 - SD";"2 - SD"});SOMME(SI(Calendrier!$D$3:$AK$33="CACES";SI(JOURSEM(Calendrier!$B$3:$AI$33;2)>=1;0.5;"");0))*8;0)

Voulant faire plus court? je l'ai modifié comme suis mais la excel me renvoie une erreur #N/A

Code:
=SI(OU($B$7={"SD";"1 - SD";"2 - SD";"1 - 3x8";"2 - 3x8";"3 - 3x8";"1 - 5x8";"2 - 5x8";"3 - 5x8";"4 - 5x8";"5 - 5x8"});SOMME(SI(Calendrier!$D$3:$AK$33={"SST";"CACES"};SI(JOURSEM(Calendrier!$B$3:$AI$33;2)>=1;0.5;"");0))*8;0)

Merci de votre aide sur cette erreur

Cordialement ...

Philippe
 
Re : Erreur formule matricielle #N/A

Bonjour fenec, hello JM,

Formule en H12, à valider matriciellement :

Code:
=SI(OU($B$7={"SD";"1 - SD";"2 - SD";"1 - 3x8";"2 - 3x8";"3 - 3x8";"1 - 5x8";"2 - 5x8";"3 - 5x8";"4 - 5x8";"5 - 5x8"});SOMME(SI((Calendrier!$D$3:$AK$33="SST")+(Calendrier!$D$3:$AK$33="CACES");SI(JOURSEM(Calendrier!$B$3:$AI$33;2)>=1;0,5;"");0))*8;0)
A+
 
Re : Erreur formule matricielle #N/A

Re, dans

Dans votre formule SI(JOURSEM(Calendrier!$B$3:$AI$33;2)>=1;0,5;"") ne va pas.

En effet le JOURSEM est forcément >=1 ou égal à #VALEUR!, il suffit de faire F9 dans la formule.

Voyez ceci :

Code:
=N(SI(OU($B$7={"SD";"1 - SD";"2 - SD";"1 - 3x8";"2 - 3x8";"3 - 3x8";"1 - 5x8";"2 - 5x8";"3 - 5x8";"4 - 5x8";"5 - 5x8"});SOMMEPROD(((Calendrier!$D$3:$AK$33="SST")+(Calendrier!$D$3:$AK$33="CACES"))*ESTNUM(JOURSEM(Calendrier!$B$3:$AI$33)))*4))
La validation matricielle n'est plus nécessaire.

Edit : noter que =N(SI(test;nombre)) est plus "léger" que =SI(test;nombre;0) : 4 octets de moins.

A+
 
Dernière édition:
Re : Erreur formule matricielle #N/A

Bonsoir le Forum
Encore une plus courte
Code:
=SI(NB.SI(Equipes;$B$7)=1;SOMMEPROD((Calendrier!$D$3:$AK$33="SST")+(Calendrier!$D$3:$AK$33="CACES");ESTNUM(JOURSEM(Calendrier!$B$3:$AI$33))/2)*8)
A+
 
Re : Erreur formule matricielle #N/A

Re,

Si l'on veut la somme pour un jour de semaine particulier, par exemple le lundi (JOURSEM=2) :

Code:
=N(SI(OU($B$7={"SD";"1 - SD";"2 - SD";"1 - 3x8";"2 - 3x8";"3 - 3x8";"1 - 5x8";"2 - 5x8";"3 - 5x8";"4 - 5x8";"5 - 5x8"});SOMMEPROD(((Calendrier!$D$3:$AK$33="SST")+(Calendrier!$D$3:$AK$33="CACES"))*ESTNUM(LN(JOURSEM(Calendrier!$B$3:$AI$33)=2)))*4))
A+
 
Re : Erreur formule matricielle #N/A

Re,

Regueiro a tout à fait raison, utilisez la plage nommée Equipes :

Code:
=4*SOMMEPROD(NB.SI(Equipes;$B$7)*ESTNUM(JOURSEM(Calendrier!$B$3:$AI$33));(Calendrier!$D$3:$AK$33="SST")+(Calendrier!$D$3:$AK$33="CACES"))
ou si l'on s'intéresse seulement au lundi (JOURSEM=2) :

Code:
=4*SOMMEPROD(NB.SI(Equipes;$B$7)*ESTNUM(LN(JOURSEM(Calendrier!$B$3:$AI$33)=2));(Calendrier!$D$3:$AK$33="SST")+(Calendrier!$D$3:$AK$33="CACES"))
A+
 
Re : Erreur formule matricielle #N/A

Re,

On pourrait sortir le NB.SI du SOMMEPROD :

Code:
=4*NB.SI(Equipes;$B$7)*SOMMEPROD(ESTNUM(JOURSEM(Calendrier!$B$3:$AI$33))*((Calendrier!$D$3:$AK$33="SST")+(Calendrier!$D$3:$AK$33="CACES")))

Mais comme on le voit le point virgule (1 octet) doit alors être remplacé par *() qui "pèse" 3 octets.

A+
 
Re : Erreur formule matricielle #N/A

Bonsoir à Tous
Le but de la question étant de faire une formule très courte :
Code:
=4*NB.SI(Equipes;$B$7)*SOMMEPROD(ESTNUM(JOURSEM(CAL2))*((CAL=$K$14)+(CAL=$K$15)))
Soit 81 caractères

CAL =Calendrier!$D$3:$AK$33
CAL2 =Calendrier!$B$3:$AI$33
K14 = SST
K15 = CACES

A+
 
Re : Erreur formule matricielle #N/A

Bonsoir à tous

[joke]
Soyons anglophiles et nous serons un peu plus court 😉
=4*NB.SI(Team;$B$7)*SOMMEPROD(ESTNUM(JOURSEM(CAL2))*((CAL=$K$14)+(CAL=$K$15)))
[/joke]

Ok je sors 😉
 
Re : Erreur formule matricielle #N/A

Bonjour le fil, le forum,

La formule devant être placée en H10, il faut sans doute tenir compte des dates en E10 et F10 :

Code:
=4*NB.SI(Equipes;B$7)*SOMMEPROD((Calendrier!B$3:AI$33>=E10)*(Calendrier!B$3:AI$33<=F10);(Calendrier!D$3:AK$33="SST")+(Calendrier!D$3:AK$33="CACES"))
Nota : le "poids" d'une formule se mesure en octets, pas du tout en nombre de caractères :

https://www.excel-downloads.com/threads/nombre-doctets-dune-formule-calcule-par-macro-vba.148601/

Les noms Equipes et Team ont le même poids : 4 octets.

Bonne journée et A+
 
Dernière édition:
Re : Erreur formule matricielle #N/A

Bonjour le forum, Staple1600, Job75

Merci pour vos réponses, je teste vos divers propositions et vous tiens au courant dès que possible.

Job,

Ta dernière solution est pertinante, je n'avais pas pensé aux dates. Je regarde ca de plus près

Bon dimanche à tous

Cordialement ...

Philippe.
 
- 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
5
Affichages
235
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
6
Affichages
158
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…