[Résolu] Une liste déroulante d'après une liste déroulante

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.
Luckywi
Fraîchement OOthentifié
Messages : 2
Inscription : 14 mars 2024 08:22

[Résolu] Une liste déroulante d'après une liste déroulante

Message par Luckywi »

Bonjour je cherche comment créer une liste déroulante qui se génère d'après un premier résultat sélectionner dans une 1er liste déroulante.
voici mon exemple :

1/ Dans ma première feuille qui représente le stock :
j'ai des nom de fournisseurs en colonne C : Iello; Blackrock; Gigamic.
En colonne D j'ai le nom de différents articles relatif à chaque fournisseur.

2/ Dans la 2nd feuille j'ai une première liste déroulante en colonne A, qui m'affiche la liste des fournisseur avec la fonction Données>Validité> Plage de cellule et la formule "DECALER(Achat.$C$2;0;0;NBVAL(Achat.$C:$C)-1;1)" et qui fonctionne très bien (mais si il y'a une erreur hésitez pas à me corriger).
Maintenant j'essaie de faire que la 2nde liste déroulante affiche tout les articles du fournisseur qui est sélectionné depuis cette 1er liste, mais je n'y parviens pas à le réalisé avec une formule.
(j'ai pu le faire en créant d'autre pages qui effectue des tries mais ce n'est pas l'idéale, j'aimerais qu'une formule le fasse pour que ce soit plus simple)

3/ il faudrait ensuite que le prix s'affiche en face, et là j'ai utiliser la formule "=RECHERCHEV(B2;$Achat.D:I;6;FAUX())" je pense que c'est bon comme ça mais comme ma 2nd liste ne fonctionne pas, je ne peux as vérifié.

Est-ce que qqn pourrais m'aider ?

je vous met un exemple en pièce jointe.
test libre office.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Luckywi le 24 mars 2024 16:04, modifié 1 fois.
LibreOffice 7.6.4.1 (X86_64) sous Windows 10
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9366
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise + F-Savoie

Re: Une liste déroulante d'après une liste déroulante

Message par tintin »

Bonjour et bienvenue,

Voyez si le tutoriel Tout sur les listes déroulantes peut vous aider.
AOO 4.1.15 et LibO stable 7.6.6 / macOS Intel 13.6.6 Ventura
Adoptium-temurinJDK-jre_1.8.0_412 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
Arnault
Membre hOOnoraire
Membre hOOnoraire
Messages : 102
Inscription : 01 avr. 2011 13:31

Re: Une liste déroulante d'après une liste déroulante

Message par Arnault »

Bonjour,

Une proposition en deux temps :
Temps 1 : nommer vos plages Fournisseur et Article par exemple, "Fournisseur" et "Article". C'est ce que j'ai fait dans votre fichier en allant jusqu’à la ligne 201. Si vous avez plus d’articles, il faudra modifier la taille de cette zone (appuyez sur ctrl + F3 pour ouvrir l'option qui le permet)
La plage Fournisseur englobe donc les cellules de C2 à C201 et la plage Article celle des cellules D2 à D201.

Temps 2 : ajouter une règle de validité dans votre feuille "Ventes" colonne "Article" (menu Données, Validité). Sélectionner "Plage de cellule" et saisir dans source la formule suivante :

Code : Tout sélectionner

SI(Fournisseur=A2;Article)
A ce stade, vous pouvez aussi trier les articles par ordre alphabétique. Sinon, ils s’affichent dans l'ordre de saisie de la feuille Achat.
Je l'ai fait uniquement pour la cellule B2, vous pouvez recopier vers le bas pour les autres lignes.

Petite explication de la formule : Si, dans la plage Fournisseur, le contenu est égal à celui de la cellule A1 (votre fournisseur) alors affiche le contenu de la ligne correspondante de la plage Article. Tous les articles qui ont comme fournisseur celui choisit en A1 s'afficheront dans la liste déroulante.

NB : Vos RECHERCHEV fonctionnent :)
 Ajout : Je viens de me rendre compte que j'ai modifié accidentellement la condition de validité de votre liste fournisseur. Je corrige dans le fichier joint en vous proposant une solution qui utilise la plage Fournisseur  
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 24.2 (x64)
OpenOffice 4.1.15
Windows 11 pro 64 23H2
Luckywi
Fraîchement OOthentifié
Messages : 2
Inscription : 14 mars 2024 08:22

Re: Une liste déroulante d'après une liste déroulante

Message par Luckywi »

Merci beaucoup Arnault et Tintin.
C'est exactement ce qu'il me faut !
j'ai remplacé les plage par $Achat.$D$2:$D$1048576 histoire que toute les lignes soit prise en compte.
C'est un très bon début, merci beaucoup à vous deux !
LibreOffice 7.6.4.1 (X86_64) sous Windows 10
Avatar de l’utilisateur
Arnault
Membre hOOnoraire
Membre hOOnoraire
Messages : 102
Inscription : 01 avr. 2011 13:31

Re: Une liste déroulante d'après une liste déroulante

Message par Arnault »

Tu peux aussi modifier la taille de la plage (ctrl + F3)
L'avantage de la plage nommée est, qu'au lieu d'avoir des références par toujours simple à comprendre et retrouver, la plage nommée peut avoir, comme son nom l'indique, un nom significatif qui fait référence à un contenu.
Après, les deux fonctionnent ;)

Pense à indiquer [Résolu] au début du titre de ton premier message et à lui ajouter la coche verte.
LibreOffice 24.2 (x64)
OpenOffice 4.1.15
Windows 11 pro 64 23H2