Formule complexe avec plusieurs arguments

Résolu
Oceanik. Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   -  
 Oceanik - 16 janv. 2021 à 03:46
Bonjour les pros d'Excel,

Je dois produire rapidement un fichier Excel permettant de déterminer la priorité selon plusieurs critères. J'ai seulement réussi avec la priorité 1. À la priorité 2, j'ai l'erreur #valeur. Est-ce que j'oublie un ";" et/ou des parenthèses, etc...??

Je dois poursuivre la formule avec 7 autres critères pour un total de 9 priorités.

Je crois qu'Excel me renverra que j'ai trop d'arguments pour cette formule".

Comment m'en sortir?

Je joins mon fichier Excel et ma liste d'arguments à bâtir.

Merci beaucoup à l'avance pour votre support!

Fichier Excel : https://www.cjoint.com/c/KAlpkEyWiMr
Fichier avec arguments : https://www.cjoint.com/c/KAlpmCTVUir
A voir également:

8 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 742
 
Bonjour Oceanik

Personnellement je passerai par un tableau annexe des 9 priorités (les colonnes pouvant être masquées ensuite) et en colonne A une simple formule pour relever la priorité inférieure parmi celles possibles
https://www.cjoint.com/c/KAlq5ua72c1

J'ai mis les formules pour les priorités 1, 2 et 3, à toi de poursuivre

Il serait très utile aussi de mettre des listes déroulantes pour tous les choix dans ton tableau de base car une erreur de frappe ou un mot mal orthographié empêchera les formules de fonctionner correctement

Cdlmnt
Via
1
Oceanik. Messages postés 62 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup! Beau travail! Je vais essayer de poursuivre ça. Je pensais que je pouvais utiliser le si.multiple ou le si.condition mais je n'y arrive pas sous 365 et impossible en Excel 2013.

Encore MERCI!
0
Raymond PENTIER Messages postés 58965 Date d'inscription   Statut Contributeur Dernière intervention   17 330
 
Bonjour Oceanik.

Observation liminaire : Dans la ligne contenant les intitulés de colonnes (noms de champs), il est pratique, et lisible, de mettre des expressions et des phrases, comme "Milieu a été en éclosion?" en I1 ...
L'ennui, c'est qu'on finit par obtenir des formules à rallonge qui, elles, sont illisibles, comme
=SI(ET([@Catégorie]="Semi-autonome";OU([@[Si "Oui"Type d''unité]]="Cognitive";[@[Milieu vulnérable]]="Oui");[@[EnjeuPCI]]="Oui";OU([@[Quelle(s) vague(s)]]="Vague 1";[@[Quelle(s) vague(s)]]="Vagues 1 et 2");[@[Ressource problématique]]="Oui");"P1";SI(ET([@Catégorie]="Semi-autonome";OU([@[Si "Oui"Type d''unité]]="Cognitive";[@[Milieu vulnérable]]="Oui");OU([@[EnjeuPCI]]="Oui";[@[Ressource problématique]]="Oui";OU([@[Quelle(s) vague(s)]]="Vague 1";[@[Quelle(s) vague(s)]]="Vagues 1 et 2"));"P2");"")) en A2 !

Je te suggère de faire ceci :
- Copier, en ligne 1
- Insérer les cellules copiées, en A2
- Insérer une ligne vide entre les lignes 1 et 2
(pour bien délimiter le tableau de calcul)
- Remplacer les contenus de la nouvelle ligne 3 par
Pr/Cat/RLS/Rive/PUF/Type/Nb/Enj/écl/Vag/Vuln/Ress
Ta formule est devenue :
=SI(ET([@Cat]="Semi-autonome";OU([@Type]="Cognitive";[@Vuln]="Oui");[@Enj]="Oui";OU([@Vag]="Vague 1";[@Vag]="Vagues 1 et 2");[@Ress]="Oui");"P1";SI(ET([@Cat]="Semi-autonome";OU([@Type]="Cognitive";[@Vuln]="Oui");OU([@Enj]="Oui";[@Ress]="Oui";OU([@Vag]="Vague 1";[@Vag]="Vagues 1 et 2"));"P2");""))
ce qui est quand même plus sympathique (305 caractères au lieu de 500 ) ...
1
Oceanik. Messages postés 62 Date d'inscription   Statut Membre Dernière intervention  
 
Bel astuce! Merci du conseil!
0
Raymond PENTIER Messages postés 58965 Date d'inscription   Statut Contributeur Dernière intervention   17 330
 
... (suite 2)

On ne peut pas se lancer dans une formule à rallonge comme celle que tu as commencé à saisir, qui ferait plus de 2000 caractères, et que tu n'arriverais pas à vérifier ni adapter !
Je confirme que c'est bien la technique de via55 qu'il faut utiliser.
1
Oceanik. Messages postés 62 Date d'inscription   Statut Membre Dernière intervention  
 
Oui, c’est le conseil que j’ai suivi.
0
Raymond PENTIER Messages postés 58965 Date d'inscription   Statut Contributeur Dernière intervention   17 330
 
Autre précision à nous fournir :
Priorité 6, ligne 2, on est censé voir un "ou" après le mot "éclosion" ?

Si c'est le cas, saisir les formules suivantes :
en M4 =1*ET([Cat]="Semi-autonome"; OU([Type]="cognitive";[Vuln]="oui"); [Enj]="oui"; OU([Vag]="vague 1";[Vag]="vagues 1 et 2"); [Ress]="oui")
en N4 =1*ET([Cat]="Semi-autonome"; OU([Type]="cognitive";[Vuln]="oui"); OU([Enj]="oui"; [Vag]="vague 1";[Vag]="vagues 1 et 2";[Ress]="oui"); [@Pr1]=0)
en O4 =1*ET([Cat]="Semi-autonome"; OU([Type]="cognitive"; [Vuln]="oui"); OU([Enj]="oui";[Vag]="vague 2";[Ress]="oui"); [@Pr1]+[@Pr2]=0)
en P4 =1*ET([Cat]="Semi-autonome"; [Type]="physique"; OU([Enj]="oui";[Vag]="Vagues 1 et 2";[Vag]="vague 1";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]=0)
en Q4 =1*ET([Cat]="Semi-autonome"; [Type]="physique"; OU([Enj]="oui";[Vag]="vague 2";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]=0)
en R4 =1*ET([Cat]="Semi-autonome"; OU([écl]="oui";[Vag]<>""); OU([Enj]="oui";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]+[@Pr5]=0)
en S4 =1*ET([Cat]="Semi-autonome"; OU([Enj]="oui";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]+[@Pr5]+[@Pr6]=0)
en T4 =1*ET(OU([Enj]="oui";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]+[@Pr5]+[@Pr6]+[@Pr7]=0)
en U4 =1*([@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]+[@Pr5]+[@Pr6]+[@Pr7]+[@Pr8]=0)
Le tableau qui récapitule ces formules indique que les priorités 6 à 9 ne sont jamais atteintes ...
Tu devras continuer à tester les différentes combinaisons, et apporter les correctifs indispensables.
https://www.cjoint.com/c/KAorGDKQiMA


1
Oceanik. Messages postés 62 Date d'inscription   Statut Membre Dernière intervention  
 
Merci M. Pentier pour votre support. C’est grandement apprécié.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58965 Date d'inscription   Statut Contributeur Dernière intervention   17 330
 
Salut.

Ta précision du post #10 m'a permis de rectifier ma formule pour la priorité 6, qui devient
en R4 =1*ET([Cat]="Semi-autonome"; OU([Vag]="Vague 1";[Vag]="Vague 2";[Vag]="Vagues 1 et 2"); OU([Enj]="oui";[Ress]="oui"); [@Pr1]+[@Pr2]+[@Pr3]+[@Pr4]+[@Pr5]=0)
Tableau des formules
Diagramme des contraintes
J'attends tes demandes de modification, et éventuellement tes compléments de conditions pour les priorités supérieures à 2 ...
1
Oceanik
 
Avec vos précieux conseils, j’ai réussi à fournir un outil qui répond au besoin. Merci encore à tous!
0
Oceanik. Messages postés 62 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai réussi à trouver mon erreur pour la priorité 2.

Maintenant, je dois savoir quelle fonction utilisée pour joindre toutes mes priorités par ordre d'importance (P1 à P9)?

Je suis de base sous Excel 2013 mais j'ai aussi Microsoft 365.

Merci!
0
Raymond PENTIER Messages postés 58965 Date d'inscription   Statut Contributeur Dernière intervention   17 330
 
... (suite)

Pour nous éviter des erreurs et des pertes de temps, peux-tu préciser :
Dans ton tableau Excel, la liste déroulante de cellule pour la colonne E propose "Oui" et "Non".
Mais ta liste PDF de description des priorités stipule "Présence unité fermée cognitive / physique", ces valeurs étant réservées au champ "Si oui type d'unité" !!!
Qu'en est-il ?
0
Raymond PENTIER Messages postés 58965 Date d'inscription   Statut Contributeur Dernière intervention   17 330
 
De même, il semble y avoir confusion entre les champs "éclosion" et "quelle(s) vague(s)" !
Veux-tu nous éclairer ?
0
Oceanik. Messages postés 62 Date d'inscription   Statut Membre Dernière intervention  
 
En effet, si c’est oui pour éclosion, il faut préciser la vague.
0
Oceanik. Messages postés 62 Date d'inscription   Statut Membre Dernière intervention  
 
Si unité fermée est oui, il faut préciser le type.
0
Raymond PENTIER Messages postés 58965 Date d'inscription   Statut Contributeur Dernière intervention   17 330
 


Quand j'ai fini par poster mon message #14,
j'ai vu que tu avais envoyé tes précisions #10
et #12.
Je suis en train de représenter les diagrammes exprimant tes conditions ; je finirai demain ...
Là, j'ai sommeil !

Mais voici déjà un exemple :
0