Extraction de données sur une nouvelle feuille Excel

Fermé
vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021 - 3 mai 2021 à 21:16
vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021 - 5 mai 2021 à 03:11
Bonjour à tous,

J'ai profité de cette longue période d'inactivité pour peaufiner la matrice de mon stock de vins, étant restaurateur :)
Je bloque sur une étape, si vous pouviez m'aider !

J'ai une feuille "Commandes" sur laquelle je souhaiterai extraire les lignes de plusieurs feuilles différentes, chaque feuille représentant une régions viticole, ainsi que les vins blancs, rosés et champagnes.

Dans cette feuille, j'y ai crée une liste déroulante correspondant à l'ensemble de mes fournisseurs.
Je n'ai pas besoin de toutes les infos de mes tableurs, j'aimerais y retrouver le nom du vin "Appellation", le millésime "Millésime", le prix d'achat HT "PAHT" et le nombre de commandes prévues "COM.

Donc dans l'idée ce serait :
Sur la feuille "Blancs" par exemple :
Si la colonne T est supérieur à 0 et que la colonne F correspond à la cellule $A$2 de ma liste fournisseur alors j'extraie mes 4 critères spécifiés plus haut.

La page commande m'affichant donc selon le fournisseurs, tout les produits de toutes les régions que je souhaite commander.

Ce n'est sûrement pas clair comme ça j'espère pouvoir être plus précis en répondant à vos questions.

Merci infiniment !

Alexandre






.
A voir également:

3 réponses

Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
4 mai 2021 à 18:35
Bonjour.

Comme toujours, il faut joindre le fichier Excel, et non de simples images !
 1) Tu vas dans https://www.cjoint.com/ 
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Il existe aussi :
1) https://mon-partage.fr/
2) https://www.transfernow.net/

0
vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021
5 mai 2021 à 00:14
Bonsoir Raymond,
Merci de votre réponse !
Ci-joint le fichier :
https://www.cjoint.com/c/KEewnGzGpUI
0
vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021 > vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021
5 mai 2021 à 00:24
PS: Ne pas faire attention à la première feuille "OCT20" elle est en masquée sur mon fichier
0
Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
4 mai 2021 à 18:51
... (suite)
  • 1) Au lieu d'avoir au départ des feuilles par région viticole, n'était-il pas possible d'avoir directement des feuilles par fournisseur ?
  • 2) Sais-tu utiliser les TCD (tableaux croisés dynamiques) ?
  • 3) Connais-tu VBA et sais-tu écrire des macros ?

0
vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021
5 mai 2021 à 00:18
Bonsoir à nouveau,

le but principal de ma matrice est de représenter ma carte des vins le plus fidèlement possible, je préférerais garder cette mise en page, les commandes n'étant qu'une partie accessoire à l'ensemble.

Je reste assez limité dans mes connaissances, mais j'apprends assez vite sur internet et je peux me faire aider, la seule chose c'est que je ne sais pas quoi exactement chercher dans ce cas précis :))

Merci beaucoup !
0
dachiasse Messages postés 1709 Date d'inscription samedi 12 septembre 2020 Statut Membre Dernière intervention 13 mai 2021 148 > vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021
Modifié le 5 mai 2021 à 01:12
Salut,

Depuis hier soir, j'ai une idée, mais, j'ai du mal avec VBA. J'étais bloqué sur une instruction toute bête.

Je te donne mon algo.

Premièrement, on nomme les tableaux des feuilles de chaque type de vins (Blancs, etc.) sans prendre les en-tête en compte. Donc, pour les blancs, créer une plage nommée de A3 à T23.

Ensuite, on conserve l'adresse de la première ligne et de la dernière ligne. On va faire une boucle FOR avec ces 2 valeurs.

On crée des variables numériques qui récupèrent l'adresse colonne des éléments que tu veux + l'attribut fournisseur.

J'ai pensé, en A2, à créer une combobox. Ainsi, avec la méthode change() de la combobox, le tableau est mis à jour en parcourant chaque feuilles des types de vins.

Quand on parcourt le tableau des types de vins, on vérifie SI le fournisseur de la ligne en cours de test correspond au fournisseur sélectionné dans la combobox ET SI la colonne COM est > 0. Si c'est le cas, on ajoute les 4 éléments (Appellation, Millésime, PAHT, et COM) correspondant.

Même si ça restera toujours discutable car une forme de base de données ne fera jamais l'unanimité. Je pense que c'est possible de faire ce que tu veux.

En fait, je bloque parce que j'imagine que la taille des plages n'est pas la même, donc chaque feuille des types de vins a sa plage. Et je ne sais pas parcourir un array avec un For Each qui a 2 éléments par ligne (la feuille, la plage). Mais, je crois qu'on peut créer un objet personnalisé.

Également, on peut mettre un drapeau en place qui serait rouge tant que la plage des tableaux des types de vins n'est pas à jour car, je suppose que ces tableaux sont amenés à changer de taille. Une fois les mises à jour faites, le drapeau devient vert. On peut même ajouter une MSGBOX qui l'indique clairement.
0
vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021 > dachiasse Messages postés 1709 Date d'inscription samedi 12 septembre 2020 Statut Membre Dernière intervention 13 mai 2021
5 mai 2021 à 01:31
Hello !

Merci beaucoup, j’ai compris l’idée !

Moi ça me va complètement le concept du drapeau m’indiquant une Maj de la plage nécessaire, comme je n’effectue qu’une commande globale dans le mois ce n’est pas du tout dérangeant.

J’ai bien conscience que le format de ma matrice ne soit pas l’idéal, je ne pensais pas aller aussi loin dans la programmation lorsque je l’ai pensé, ça devait resté un outil standard d’inventaire, que je me suis mis à améliorer petit à petit ahah
0
Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
5 mai 2021 à 02:16
Bonjour.

J'ai vu que tu as déjà une première macro ...
Ce qu'il faut, c'est écrire une deuxième macro, qui va explorer chacune des feuilles pour retrouver le nom du fournisseur sélectionné et les lignes concernant ce dernier, pour afficher les 4 données qui t'intéressent.

Je te signale que la liste déroulante en A2 a comme source la plage Listes!$E$1:$E&13 alors que tu aurais pu utiliser la plage type_fournisseur ou la plage fournisseurs.
Dans les 3 cas, ce serait plus agréable que cette colonne E soit triée.

Et à force de développer ton fichier, tu as fini par créer de nombreux doublons dans tes plages nommées, ce qui n'est pas une très bonne chose (sauf bien entendu si cela est indispensable ) :
RBLANCS et RBIOBLANCS ......................... L3:L23
RBOUR et RBIOBOUR .................................. L3:L11
RNATURE et RNATURE BOUR .................... M3:M11
RCONBOUR et RCONVBOUR ...................... N3:N11
type_fournisseur et fournisseurs .... E1:E16 et E1:E17
VINS, VINSROSES et VINSROSES1 ..... A3:L3 et A3:L4
RBIOEG, RBIOEGROSES et REGROSES ....... P3:P4
RBIOMG, RBIOMGROSES et RMGROSES ... Q3:Q4
RBIOHG et RHGROSES ........................ R3:R4 et R3:R5

Enfin les plages VINSALS et VINSALSACE ne sont pas définies ...
0
vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021
5 mai 2021 à 02:44
Merci Raymond, je viens de trouver sur internet comment épurer tout cela (je pars vraiment de loin ;D)
https://www.cjoint.com/c/KEfaRIErGsI
Comment puis-je m'y prendre pour la macro ?
0
Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094 > vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021
5 mai 2021 à 03:08
Je ne connais pas VBA ...
0
vlxh Messages postés 7 Date d'inscription lundi 3 mai 2021 Statut Membre Dernière intervention 5 mai 2021 > Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024
5 mai 2021 à 03:11
Ca marche !
Merci en tout cas
0