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
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
A voir également:
- Extraction de données sur une nouvelle feuille Excel
- Darkino nouvelle adresse - Guide
- Darkino : le grand site pirate change d'adresse et d'interface - Accueil - Services en ligne
- Feuille de pointage excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Calculer une moyenne sur excel - Guide
3 réponses
Raymond PENTIER
Messages postés
58724
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 novembre 2024
17 237
4 mai 2021 à 18:35
4 mai 2021 à 18:35
Bonjour.
Comme toujours, il faut joindre le fichier Excel, et non de simples images !
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/
Raymond PENTIER
Messages postés
58724
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 novembre 2024
17 237
4 mai 2021 à 18:51
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 ?
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
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 !
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 !
dachiasse
Messages postés
1709
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
13 mai 2021
149
>
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
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.
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.
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
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
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
Raymond PENTIER
Messages postés
58724
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 novembre 2024
17 237
5 mai 2021 à 02:16
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 ...
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 ...
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
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 ?
https://www.cjoint.com/c/KEfaRIErGsI
Comment puis-je m'y prendre pour la macro ?
Raymond PENTIER
Messages postés
58724
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 novembre 2024
17 237
>
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
5 mai 2021 à 03:08
Je ne connais pas VBA ...
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
58724
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 novembre 2024
5 mai 2021 à 03:11
5 mai 2021 à 03:11
Ca marche !
Merci en tout cas
Merci en tout cas
5 mai 2021 à 00:14
Merci de votre réponse !
Ci-joint le fichier :
https://www.cjoint.com/c/KEewnGzGpUI
5 mai 2021 à 00:24