fonction si excel 2003/2007?

pierrot26

XLDnaute Nouveau
Bonjour,

Je suis débutant sur excel et travaille sur un projet contenant des indicateurs de sécurité. Le principe est assez simple, une feuille source : "configuration", et une feuille cible : "niveau et indicateur".
Il y a pour chaque sujets examinés, 4 niveaux de sécurité. J'aimerai que lorsque un utilisateur remplisse une ligne de ma 1ère feuille, il ne puisse avoir le choix que entre l'un des 4 niveaux (par exemple pour la colonne "routes" : 1.Aucune restriction d'accès/2.Axes principaux et secondaires contrôlés/3.Axes principaux et secondaires fermés ou contrôlés/4.Axes stratégiques fermés).
Plus difficile, y a t-il un moyen pour que, en fonction de l'indicateur choisi, 1, 2 ,3 ou 4, pour chaque colonne, un indicateur moyen soit calculé dans la colonne "Niveau"? Ceci toujours pour connaître le niveau général 1, 2, 3 ou 4.

Un grand merci par avance pour votre aide...
 

Pièces jointes

  • Niveaux et indicateurs.zip
    284.3 KB · Affichages: 47

hoerwind

XLDnaute Barbatruc
Re : fonction si excel 2003/2007?

Bonjour et bienvenu sur le forum,

Pourrais-tu être quelque peu plus explicite dans ta demande car personnellement je n'ai pas compris ce que tu souhaites, et je crois ne pas être le seul dans ce cas ?
 

pierrot26

XLDnaute Nouveau
Re : fonction si excel 2003/2007?

Bonjour,

Oui désolé c'était pas clair. J'ai avancé un peu. Je renvoi ici le doc. La première feuille intègre des infos provenants de la 2ème par l'intermédiaire de validations. Pour remplir une ligne, chaque case propose 4 réponses, qui correspondent aux niveaux 1,2,3 et 4.
Je n'arrive pas à obtenir la moyenne dans la colonne BD "niveaux moyenne"
Et je ne sais pas si c'est possible, que la colonne BE "niveaux définitif" (ce sont des indicateurs de sécurité) me donne le niveau des 5 indicateurs les plus hauts. Par exemple si je remplis une ligne avec des indicateurs de niveaux 1 et 5 ou plus de niveau 2, cette dernière colonne me donnerai 2...
C'est assez complexe j'imagine, et je suis complètement bloqué ,)
 

Pièces jointes

  • seguridad-test.zip
    292.3 KB · Affichages: 32

hoerwind

XLDnaute Barbatruc
Re : fonction si excel 2003/2007?

Re,

Pour la première question, pas de problème, sauf ...
En C8, la formule =GAUCHE(B8;1) extrait bien le premier caractère de B8, mais renvoie son résultat en format texte.
De plus il n'est pas nécessaire de préciser qu'il ne faut extraire qu'un caractère, en omettant le deuxième argument XL ne renvoie par défaut qu'un seul caractère.
Cette formule devrait donc devenir : =GAUCHE(B8)*1, le *1 pour transformer le texte en nombre.
Cette modification doit être appliquée à toutes les colonnes impaires (C, E, G, I, ... BC)

Dès lors, la formule en BD8 :
Code:
=MOYENNE(SI(MOD(COLONNE(C8:BC8);2)=1;C8:BC8))
renvoie la moyenne des niveaux, soit 1,9630

Quant à la deuxième question, je crains de ne pas bien la comprendre.
Faut-il renvoyer le niveau qui a le plus d’occurrences (qui se présente le plus grand nombre de fois), ou autre chose ?
 

pierrot26

XLDnaute Nouveau
Re : fonction si excel 2003/2007?

C'est vraiment très très sympa, absolument impossible de trouver ça seul. Je la pose dans google et ça me donne le nom de la bête, formule en notation matricielle... Merci en tout cas.

Pour la deuxième question, est-ce possible que cette dernière colonne puisse me donner le niveau le plus haut, si ce niveau apparaît plus de 5 fois dans la ligne? Par exemple si tous les indicateurs sont à 1 sauf cinq qui sont au niveau 3, la colonne m'inscrirait 3.

Bon si il n'y a pas de solution pour ça ne t'embête pas trop, j'ai déjà étonné qq collègues avec ta formule, ça a fait son petit effet.

Un grand merci.
 

hoerwind

XLDnaute Barbatruc
Re : fonction si excel 2003/2007?

Bonjour,

Cette fois j'ai compris, et cela ne me semble pas fort compliqué (lol) !

Mais avant de poursuivre, à moi de te poser une question :
Les colonnes dans lesquelles le niveau est extrait (C, E, G, I, ... BC) te sont-elles nécessaires à autre chose, car moi je voudrais bien m'en passer (formules plus simples) !

Ou bien peut-on les déplacer, par exemple à la droite des colonnes avec les listes déroulantes ?
 

juju54800

XLDnaute Nouveau
Re : fonction si excel 2003/2007?

Bonjour,

Si je ne m'abuse...
Si tu souhaites juste trouver le nombre le plus grand qui apparaît dans ta ligne, pourquoi ne pas utiliser tout simplement la fonction Max() déjà intégrée à Excel ?
Bon évidemment le truc embêtant c'est que tu devras sélectionner une case sur 2, seulement les cases qui ont des chiffres seuls car max() ne fonctionne qu'en format numérique....
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : fonction si excel 2003/2007?

Re,

Je ne peux pas ouvrir les zip, je n'ai donc pas vu ton fichier, la plage à laquelle ça s'applique est donc peut-être à adapter
Et cette formule est matricielle donc à valider par Ctrl+Maj+entrée
 

pierrot26

XLDnaute Nouveau
Re : fonction si excel 2003/2007?

Ah ok merci. Je vais chercher des infos sur les formules matricielles ça me fera pas de mal.
En fait les colonnes à prendre en compte sont toutes les 2 colonnes : C8, E8, G8, etc jusqu'à BC8. Tu as une idée de comment je peux intégrer ça à la formule?
 

hoerwind

XLDnaute Barbatruc
Re : fonction si excel 2003/2007?

Re, salut tototiti et juju,

Un essai en pièce jointe, ayant supprimé préalablement les colonnes d'extraction des niveaux.

Pour tototiti : cela te rappellera un autre fil, merci !
Pièce jointe non zippée à ton attention
 

Pièces jointes

  • Seguridad-testV2.xls
    904 KB · Affichages: 73

juju54800

XLDnaute Nouveau
Re : fonction si excel 2003/2007?

Formule qui fonctionne très bien, mais j'ai remarqué une petite erreur pour toi Pierrot...
Pour tes serpents, sur ton niveau 1, il y a un espace devant ton chiffre, ce qui foire la formule de hoerwind si tu change ce niveau ;) et également toutes les autres formules car gauche() te rapporte le signe espace du coup.
 

Statistiques des forums

Discussions
312 361
Messages
2 087 611
Membres
103 607
dernier inscrit
lolo1970