[Résolu] Liste déroulante sur trois colonnes

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Icemilk
Fraîchement OOthentifié
Messages : 8
Inscription : 30 janv. 2019 07:34

[Résolu] Liste déroulante sur trois colonnes

Message par Icemilk »

Bonjour,

je suis totalement novice en la matière et je voudrais savoir si vous pourriez s'il vous plait m'expliquer comment réaliser un tableau "dynamique?"
Voici; je voudrais réaliser un tableau de 9 colonnes et d'une trentaine de lignes (avec possibilité d'ajouter des lignes et de modifier les différentes listes) ayant les caractéristiques suivantes :

Colonne A : liste déroulante « Risques » ; colonne H : liste déroulante « mise en évidence » et colonne I : pas de liste déroulante « Conseils de prévention ».

Les colonnes B,C,D,E,F,G seront complétées par un autre tableau de ma composition. Je souhaite enlever ou ajouter des colonnes parmi ces 6 colonnes.

Chaque cellule de A1 à A 30 contient la liste déroulante du choix d'un des 25 «risques ». Dans la colonne H chaque cellule contient la liste déroulante des choix «mise en évidence du risque » correspondant au choix du "risque" inscrit dans la cellule de la colonne A.

Les cellules de la colonne I donne le « conseil de prévention » lié au risque défini par le choix réaliser dans la cellule de la colonne A.

Pour chaque « risque » il n'y a qu'un seul liste de « mise en évidence » et qu'une seule cellule de « conseil de prévention ».

Exemple : A1(liste déroulante « risque ») donne H1 (liste déroulante « mise en évidence » défini par le risque choisi en A1) et donne I1 (« conseil de prévention lié au risque défini en A1).

Cela fonctionne pour 2 colonnes mais je n'arrive pas à en ajouter une troisième.


Merci de votre aide.
Cordialement.

PS: Y a-t-il sur le forum un fil "présentation" ?
Dernière modification par Oukcha le 14 mars 2019 06:45, modifié 2 fois.
Raison : Balisage
Version d'OpenOffice : Apache openoffice 4.1.6
Système d''éxploitation : Windows 10 Pro version 1803
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Liste déroulante sur trois colonnes

Message par OOotremer971 »

Bonjour,

Un petit détour vers ce sujet s'impose : [Calc] Tout sur les listes déroulantes

Bonne lecture

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Icemilk
Fraîchement OOthentifié
Messages : 8
Inscription : 30 janv. 2019 07:34

Re: Liste déroulante sur trois colonnes

Message par Icemilk »

Bonjour,
merci pour le lien, mais j'ai déjà essayé et...............ben je n'y arrive pas. Même en suivant pas à pas. Il faut dire que je ne suis pas très doué :oops:
Version d'OpenOffice : Apache openoffice 4.1.6
Système d''éxploitation : Windows 10 Pro version 1803
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
Messages : 1274
Inscription : 10 nov. 2006 15:04
Localisation : F-Oise

Re: Liste déroulante sur trois colonnes

Message par OOo - Ekel »

Bonjour,

Est-il au moins possible de savoir jusqu'où cela "passe" ?

Cordialement.
Ekel

KUbuntu Jammy Jellyfish (22.04) : LibreOffice 24.2.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
Icemilk
Fraîchement OOthentifié
Messages : 8
Inscription : 30 janv. 2019 07:34

Re: Liste déroulante sur trois colonnes

Message par Icemilk »

Bonjour,

cela fonctionne sur 2 colonnes (grâce à un exemple que l'on m'a donné) mais je n'arrive pas à ajouter une colonne supplémentaire dépendante de la première, ni à intercaler une colonne vide entre deux colonnes de "liste".
Cordialement
Version d'OpenOffice : Apache openoffice 4.1.6
Système d''éxploitation : Windows 10 Pro version 1803
Jeff
GourOOu
GourOOu
Messages : 9629
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Liste déroulante sur trois colonnes

Message par Jeff »

Bonjour à tous, bienvenue Icemilk,

Ce que tu veux faire s’appelle "Listes en cascade" (dans le fil indiqué par OOotremer971, il y a un message destiné à ça).

Ce qui veut dire que dans ce type de liste, tu n’as plus 26 lignes, mais, idéalement, une seule ; dans la première colonne par exemple en B2 tu choisis le risque, puis les colonnes suivantes de donne les listes en cascade.

Cela inclus que tu dois bâtir tes listes avec une fonction INDIRECT et avec des noms de plages, or, les noms de plages ne comportent pas de caractères spéciaux (espace, tiret, slash, apostrophe) :arrow: il faut donc en plus savoir "traduire" tes noms de liste en remplaçant les caractères interdit par l’underscore (tiret du 8 )

Au passage, il faut créer tous les noms (facile à faire avec Insertion > Noms > Créer)

En revanche, je n’ai pas trouvé comment remplacer l’apostrophe (probablement une option d’auto-correction non localisée).

Ce qui nous donne au final pour 4 risques (dont un inexploitable pour cause d’apostrophe) :
Icemilk_Jeff.ods
En plus de toutes ces contraintes, on a au final un classeur qui apparemment ne comporte aucun calcul.

Je pense que tu te trompes d’outils, pour un fichier de ce type, je serais plus enclin à développer une base de données, et pas à triturer un tableur :aie:

Bon courage si tu persistes dans cette voie :)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Icemilk
Fraîchement OOthentifié
Messages : 8
Inscription : 30 janv. 2019 07:34

Re: Liste déroulante sur trois colonnes

Message par Icemilk »

Bonjour Jeff,
merci pour ta réponse. Je vois que ce que je souhaite faire est bien plus compliqué (pour moi) que prévu.
Je vais suivre les pistes que tu m'as données et me triturer les méninges. Et notamment me pencher sur la construction avec les fonctions telles que "INDIRECT, RECHERCH...) J'ai du pain sur la planche en sachant que mes connaissances en la matière sont égales à zéro.
Si je trouve, je mettrais une pièce jointe.
Merci encore pour ta réponse.
Cordialement.
Version d'OpenOffice : Apache openoffice 4.1.6
Système d''éxploitation : Windows 10 Pro version 1803
Jeff
GourOOu
GourOOu
Messages : 9629
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Liste déroulante sur trois colonnes

Message par Jeff »

Jeff a écrit : je n’ai pas trouvé comment remplacer l’apostrophe
Ok, j’y arrive en utilisant la fonction CAR, donc pour substituer l’espace - ’ / par _ :

Code : Tout sélectionner

=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(B2;" ";"_");"-";"_");CAR(146);CAR(95));"/";"_")
AOO_forum.png
Je reste convaincu que Base est plus adapté que Calc... :wink:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Icemilk
Fraîchement OOthentifié
Messages : 8
Inscription : 30 janv. 2019 07:34

Re: Liste déroulante sur trois colonnes

Message par Icemilk »

J'ai ouvert "Base" et cela me semble d'une complexité stratosphérique...je cherche encore avec le tableur.
Jeune padawan je suis et un jour peut être la maitrise j'aurais.
Version d'OpenOffice : Apache openoffice 4.1.6
Système d''éxploitation : Windows 10 Pro version 1803
Icemilk
Fraîchement OOthentifié
Messages : 8
Inscription : 30 janv. 2019 07:34

Re: Liste déroulante sur trois colonnes

Message par Icemilk »

Bonjour,
j'ai essayé, lu énormément et suis dubitatif quant à mes capacités d'intégrer la "logique" tableur.
Je suis arrivé un jour lointain à faire ce que je voulais, puis j'ai tout effacé et là ben...... :fou:
Voici ce que je voudrais faire :
Chaque case de la colonne A contient un risque pour lequel il y a un choix (liste mise en évidence) en colonne B (A3=Choix dans B3, A4= choix dans B4...)
Je voudrais conserver cette forme mais avoir une liste déroulante de tout les risques dans chaque case de la colonne A en conservant la relation entre chaque risque avec sa propre liste de « mise en évidence »
Si quelqu'un pouvait m'aider cela me dépannerais grandement.
Merci à vous.
Cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Version d'OpenOffice : Apache openoffice 4.1.6
Système d''éxploitation : Windows 10 Pro version 1803
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Liste déroulante sur trois colonnes

Message par jeanmimi »

Icemilk a écrit :Je voudrais conserver cette forme mais avoir une liste déroulante de tout les risques dans chaque case de la colonne A en conservant la relation entre chaque risque avec sa propre liste de « mise en évidence »
Comme le suggérait Jeff, c'est possible avec Base, mais pour savoir si ce Module pourrait convenir, quelle est la finalité du document.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Icemilk
Fraîchement OOthentifié
Messages : 8
Inscription : 30 janv. 2019 07:34

Re: Liste déroulante sur trois colonnes

Message par Icemilk »

C'est un document de type "questionnaire" que je remplie en interrogeant plusieurs personnes individuellement. Chaque individu a une seule fiche et la totalité de ces fiches sera compilée à la fin pour la réalisation de statistiques. Statistiques de lieux de risque, de fréquence de risque, de pourcentage de risque en fonction des catégories de personnel ou de fréquence de type de risque...
Le fichier joint précédemment sera complété par d'autres colonnes (lieux, fréquence du risque, gravité...)
Dans les grandes lignes c'est le canevas que je voudrais suivre.
Version d'OpenOffice : Apache openoffice 4.1.6
Système d''éxploitation : Windows 10 Pro version 1803
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: Liste déroulante sur trois colonnes

Message par Jean-Louis Cadeillan »

Bonsoir,
Une solution assez simple à mettre en œuvre passe par la fonction SI(). Cela suppose d'avoir une feuille où tu recenses tous les risques et les mises en évidence (je l'ai appelée data dans le fichier ci-joint). Sur Feuille1, en B3 et liste de validité, tu choisis Autoriser : Plage de cellules et en source :

Code : Tout sélectionner

SI(Risques=A3;Mise_en_évidence;"")
Risques étant la plage nommée de cellules des risques dans data, Mise_en_évidence la plage nommée de cellules des mises en évidence de data. Sur Feuille1, en A3 et liste de validité, tu choisis Autoriser : Plage de cellules et en source :

Code : Tout sélectionner

$Data.$A$2:$A$193
, c'est-à-dire les risques sans le titre. Ces validités sont des attributs de formatage de la cellule, il suffit de les recopier avec le pinceau de recopie. J'ai ajouté une aide à la saisie « Au choix » (onglet Aide à la saisie de la validité).
La feuille data peut être masquée si nécessaire.
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Icemilk
Fraîchement OOthentifié
Messages : 8
Inscription : 30 janv. 2019 07:34

Re: Liste déroulante sur trois colonnes

Message par Icemilk »

Bonjour,
merci pour ton aide. J'ai tenté une résolution avec tes explications très claires et détaillées qui m'ont aiguillées sur la bonne voie.
Devant mon manque de logique je me suis orienté vers la solution qui est de passer par "validation des données-liste" et "nommer plage de cellules" puis la fonction "INDIRECT". Ce fût épique mais cela fonctionne.
Merci à tous pour votre aide.
Cordialement.
Version d'OpenOffice : Apache openoffice 4.1.6
Système d''éxploitation : Windows 10 Pro version 1803