Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Besoin de vos compétences en FORMULES Excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Davidc57

XLDnaute Occasionnel
Bonsoir à tous,

Dans le fichier ci-joint, vous trouverez un modèle simplifié de mon problème.
J'ai 2 tableaux au départ (les deux du haut) et j'ai mis plus bas le résultat souhaité ! Comment peut-on à partir (uniquement) de formules, obtenir ce résultat.

Cela est dans le cadre d'un programme pour un restaurant. Nous avons une feuille avec la commande (de la table choisie) et une autre avec les 'changes' associés à cette commande. Dans mon exemple, la commande contient 2 produits avec 'Change', le premier produit a le code 111 et le deuxième le code 110. Je précise car j'ai une solution qui fonctionne lorsque les 'codes changes' sont ordonnées dans la feuille commande. Or ce n'est pas forcément le cas.

Vous avez remarqué sans doute que le prix du produit dans la partie 'résultat souhaité' tient compte du prix des changes associés à ce produit (Mais ca je sais le faire).

J'ai surtout besoin de vous pour ordonner les produits et les 'changes' dans le résultat souhaité. L'objectif est de faire ensuite un copier coller du résultat souhaité dans une ListBox.

Merci d'avance pour votre aide et n'hésitez pas à poser des questions.

David
 

Pièces jointes

Re : Besoin de vos compétences en FORMULES Excel

Bonsoir David,

Arffff tu parles de formule et à la fin de listbox (listbox c'est pas du vba ça ?)

Moi y'a na rien compwend' là

En plus le même code pour un supplément de jambon et un sans champignons ??
ca veut dire que si je veux pas de champignons on me rajoute du jambon ?

Sam
 
Dernière édition:
Re : Besoin de vos compétences en FORMULES Excel

Bonsoir Samantha,

Oubli la listbox si tu ne comprends rien et tu comprendras tout mon problème.
Avec mes deux tableaux en entrée je veux le tableau de sortie 'Résultat souhaité'.

A bientôt,
David
 
Re : Besoin de vos compétences en FORMULES Excel

Re-bonsoir,

Exemple :

Mon client a commandé une Pizza Boscaiola ! Il a demandé un supplément de Jambon et pas de Champignon !

J'ai donc encodé les informations de la façon suivante :

Table des commande :
Pizza Boscaiola -> Code change 110

Table des Change :
110 Sans Champignons
110 Suppl Jambon

Mais à l'affichage (dans la listbox de ma Userform), je souhaite affiché les changes en-dessous des produits associés pour simplifier la lecture de l'utilisateur. J'ai donc besoin d'ordonner les données des deux feuilles pour cela.

Je ne veut pas faire de programme pour ce code, je veux que des formules déroulées jusqu'à la ligne 1000 (ou plus si nécessaire !!!) calcul en temps réel ce que je vais devoir afficher à l'écran. Je n'aurai plus qu'à faire un écrire les données dans ma listbox via des instruction du style :

Dim TabTemp As Variant
TabTemp = Sheets("Sheet1").Range("A1:C21".Value 'Chargement du tableau
Form1.ListBox1.ColumnCount = 4 '2 colonnes pour la liste
Form1.ListBox1.List() = TabTemp 'Chargement du résultat soujaité dans la listbox.


Voilà, j'espère que c'est plus clair. Merci en tout cas de t'intéressé au problème.

Cordialement,

David
 
Re : Besoin de vos compétences en FORMULES Excel

Re :

Ce qui me pose un pb c'est que ce soit le même code pour deux actions différentes surtout que l'une implique un supplément de prix et pas l'autre

parce qu'une formule qui recherche le code dans une table pour reporter sa désignation et son prix je sais faire mais si j'ai 2 codes identiques alors ma formule va s'arrêter à la 1ère occurence et ne cherchera pas la seconde

voila j'espère que j'ai apporté la justification de ma question


Sam
 
Re : Besoin de vos compétences en FORMULES Excel

Je corrige un point ...

Dim TabTemp As Variant
TabTemp = Sheets("Sheet1").Range("A14:C21").Value
'Chargement du tableau
Form1.ListBox1.ColumnCount = 3
Form1.ListBox1.List() = TabTemp
'Chargement du résultat soujaité dans la listbox.
 
Re : Besoin de vos compétences en FORMULES Excel

Samantha,

.............................
Ce qui me pose un pb c'est que ce soit le même code pour deux actions différentes surtout que l'une implique un supplément de prix et pas l'autre
.............................

Un produit (d'une commande) ne peut avoir qu'un seul code 'Change', lequel peut être composé de plusieurs ingrédients. C'est le cas du code 110 de ma pizza Boscaiola qui en contient 2.

J'avance tout de même ! Je parviens à indiquer la position de chacune des lignes (de ma table commande et de ma table change) dans le résultat souhaité. Voir le formules des case de couleur rouge dans mon fichier ci-jont.

Mais je ne parviens toujours pas au résultat souhaité ! Que dois-je écrire comme formule dans la partie 'Résultat souhaité' en vert, pour obtenir ce résultat. On peut peut-être utiliser les résultats des cases rouges ...


Merci de ton aide.

David
 

Pièces jointes

Re : Besoin de vos compétences en FORMULES Excel

Ca y est !!!

J'ai trouvé. Samantha, si ca t'intéresse, je poste ma solution finalement obtenu après 3 heures de recherche. Ouf !


Si tu as des question n'hésites pas ! Il y a des formules dans toutes les cases colorées sauf les vertes car c'était mon modèle.

Y'a du VLOOKUP, DU COUNTIF, DU SUMIF, DU IF, DU COUNTIF, DU SUMIF, et du ISNA !

Désolé, mais j'ai un excel en anglais donc tu traduiras ...

Bonne nuit,

DAvid
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
410
Réponses
4
Affichages
559
Réponses
3
Affichages
155
Réponses
4
Affichages
209
Réponses
2
Affichages
132
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…