Bonjour,
Je viens vers vous suite à un soucis d'optimisation dans Excel (je vous joins mon fichier). Je suis en train de faire une ébauche de Document Unique.
Le soucis est le suivant :
- Vous verrez dans le fichier deux onglets, un onglet "BDD DU 2020" et un onglet "Nouvelle Matrice". Dans l'onglet BDD 2020 se trouve une colonne conséquences qui attribue dans chaque cellules (via une liste déroulante dans la validation de données) ce qui se trouve dans l'onglet "Nouvelle matrice" lignes C3 à E3 à savoir :
- Dommage_corporels
- Organisme
- Fatigue
Par la suite l'utilisateur choisi l'indicatif du risque (dans l'onglet BDD DU 2020) via également une liste déroulante qui vient proposer les valeurs suivantes (Y2:Y6):
Enfin dans la colonne gravité viens proposer seulement à l'utilisateur dans une liste déroulante les risques liés à la conséquence et à l'indicatif (donc deux conditions).
J'ai réussi à faire quelque chose qui y ressemble mais cela donne lieu à une formule très longue qui n'ai pas facilement répétable. De plus à chaque fois que j'applique cette formule, je dois donner un nom de liste à l'ensemble des cellules pour ensuite appliquer ces lignes en validation de donnée dans les cellules "gravité". Donc si j'ajoute un risque au milieu ça casse tout et je dois tout recommencer. Ce n'ai donc vraiment pas optimisé !
Auriez-vous donc une astuce ou un moyen (via macro ou non) de rendre cette formule répétable facilement sans avoir à la tapé X fois et en attribuant une liste/cellule (ce qui au bout de 500 lignes devient très long...).
Je vous joins donc mon fichier excel en pièce jointe pour un peu d'aide si vous le pouvez ! et merci d'avance !
Bonne journée à vous tous !
Ps : la formule que j'ai utilisé dans BDD 2020 pour la conséquence se trouve en colonne AA et ressemble à ça : =TRANSPOSE(SI(ET(G5="Dommages_corporels";H5="G_10");_D;SI(ET(G5="Dommages_corporels";H5="G_8");_D1;SI(ET(G5="Dommages_corporels";H5="G_5");_D2;SI(ET(G5="Dommages_corporels";H5="G_3");_D3;SI(ET(G5="Dommages_corporels";H5="G_1");_D4;SI(ET(G5="Organisme";H5="G_10");_O;SI(ET(G5="Organisme";H5="G_8");_O1;SI(ET(G5="Organisme";H5="G_5");_O2;SI(ET(G5="Organisme";H5="G_3");_O3;SI(ET(G5="Organisme";H5="G_1");_O4;SI(ET(G5="Fatigue";H5="G_10");_F;SI(ET(G5="Fatigue";H5="G_8");_F1;SI(ET(G5="Fatigue";H5="G_5");_F2;SI(ET(G5="Fatigue";H5="G_3");_F3;SI(ET(G5="Fatigue";H5="G_1");_F4;0))))))))))))))))