Extraction de données sur une nouvelle feuille Excel

Signaler
Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021
-
Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021
-
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






.

3 réponses

Messages postés
53807
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
5 mai 2021
15 815
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/

Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021

Bonsoir Raymond,
Merci de votre réponse !
Ci-joint le fichier :
https://www.cjoint.com/c/KEewnGzGpUI
Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021
>
Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021

PS: Ne pas faire attention à la première feuille "OCT20" elle est en masquée sur mon fichier
Messages postés
53807
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
5 mai 2021
15 815
... (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 ?

Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021

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 !
Messages postés
1691
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
5 mai 2021
135 >
Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021

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.
Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021
>
Messages postés
1691
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
5 mai 2021

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
Messages postés
53807
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
5 mai 2021
15 815
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 ...
Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021

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 ?
Messages postés
53807
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
5 mai 2021
15 815 >
Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021

Je ne connais pas VBA ...
Messages postés
7
Date d'inscription
lundi 3 mai 2021
Statut
Membre
Dernière intervention
5 mai 2021
>
Messages postés
53807
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
5 mai 2021

Ca marche !
Merci en tout cas