Rechercher dans une bdd pour constituer des lots

Bonjour à tous,

N'étant pas très fort en VBA, et ayant essayer beaucoup de fois, je sollicite votre aide. Je vous explique ma situation :

J'ai une base de donnée constitué d'un code client, du nom du client, le produit acheté par le client etc..

J'aimerai à partir de la base de donnée faire des lots automatiquement.

Par exemple, en activant la macro, j'aimerai qu'une feuille se crée. Dans cette feuille, on va constituer des lots ( un lot qui va se composer d'une moto X et d'une moto Y, que l'on appelle lot 1. Un autre lot d'une moto Y et une moto Z qu'on appelle lot 2.)

Dans chaque lot je voudrai reprendre toute la ligne de la bdd.

Bon j'espere être assez claire pour vous ^^

Merci beaucoup

22lot.xlsx (10.00 Ko)

Salut et bienvenue sur le Forum,

Ta demande n’est pas claire du tout Dans ton texte tu parles de moto X et de moto y, mais on ne trouve pas ces articles dans ton fichier.

Ensuite, comment détermines-tu quels articles viennent dans quels lots ? Tu parles d’un lot qui va se composer d'une moto X et d'une moto Y, mais on ne sait pas si ce sont des lots fixes qui reviennent à chaque fois ou si ce sont des lots que tu veux déterminer à chaque fois. Si c’est cette dernière possibilité, comment veux-tu indiquer à chaque fois quels sont les lots à faire cette fois-ci ?

Sur ta feuille ‘lot’, tu devrais simuler manuellement le résultat que tu voudrais voir automatiser. Cette feuille ‘lot’ est à chaque fois réactualisée (donc les anciennes données sont perdues) ou il faut à chaque fois créer une nouvelle feuille ?

A te relire.

Bonjour, merci ^^

Je suis vraiment désolé, effectivement dans mon fichier j'ai mis A B C D au lieu de X Y Z.

En ce qui concerne les lots, ce sont des lots que je détermine préalablement.

Après que chaque moto étant affecté à un lot, il ne pourra pas être affecté à un autre lot. ( par simplification, on pourrait effacer la moto déjà affecté à un lot)

Je vais mettre en piece jointe le fichier ce que j'aimerai avoir pour être plus clair^^

Merci

16lot.xlsx (11.48 Ko)

Re,

Tu ne réponds pas à plusieurs de mes questions !!

Tu n’as pas modifié la feuille ‘lot’ mais tu as mis des nouvelles données sur la Feuil3 !!

Quelle est la feuille qui compte ??

Dans le fichier ci-joint, j’ai enlevé les feuilles incertaines. Merci de modifier ce fichier afin de me le montrer dans l’état dans lequel il se trouve avant de lancer la macro désirée.

Dans un deuxième fichier OU D’UNE MANIÈRE TRES CLAIRE, indique-moi comment tu voudrais ton fichier à la fin de la macro.

Il est très difficile de voir quelles immatriculation sont utilisées ou non. J’ai modifié les références de ces immatriculations afin que l’on voie au premier coup-d-œil de laquelle il s’agit.

A te relire.

10lot-v1.xlsx (9.59 Ko)

Je suis vraiment désolé, d'être aussi imcompréhensible

Dans le fichier joint, j'ai mis une nouvelle feuille "Résultat", qui réprésente ce que je voudrais avoir comme résultat grâce à la macro.

La feuille "lot" permet de connaitre les lots que l'on saisie manuellement.

Pour répondre à tes questions :

Ensuite, comment détermines-tu quels articles viennent dans quels lots ?

. Les articles ne viennent pas de lots, mais vont d'être l'objet pour un lot en question

Tu parles d’un lot qui va se composer d'une moto X et d'une moto Y, mais on ne sait pas si ce sont des lots fixes qui reviennent à chaque fois ou si ce sont des lots que tu veux déterminer à chaque fois. Si c’est cette dernière possibilité, comment veux-tu indiquer à chaque fois quels sont les lots à faire cette fois-ci ?

Ces lots fixes qui peuvent revenir plusieurs fois, ces lots sont déterminés à partir de la feuille "lot"

J'espère que cette fois ci j'ai été clair >.<

Merci encore

12lot-v2.xlsx (12.94 Ko)

Salut,

Dans le fichier ci-joint, pour autant que les macros soient enclenchées sur ta machine, à chaque fois que tu sélectionnes la feuille ‘Résultat’ elle est actualisée en fonction des modifications du reste de ton fichier.

J’ai simulé un lot de plus afin de te montrer que tant que tu respectes ta disposition de base sur cette feuille (une ligne vide puis deux nouvelles lignes pour le lot), ça fonctionnera bien. J’ai juste supprimé tes cellules fusionnées qui n’apportent que des complications au niveau des macros.

J’ai également simulé un client ‘Tutu’ qui aurait deux fois le lot 1, mais ma macro ne trouve pas ce deuxième lot 1. Si une telle constellation est possible dans la réalité, je vais devoir modifier ma macro. Sinon, ce serait quand même plus simple pour moi de ne plus rien toucher.

A toi de dire.

Cordialement.

16lot-v3.xlsm (25.85 Ko)

Salut !!!

Waouuh, j'ai vu ta macro, tu as fait un travail de fou !!!

Cependant, dans la réalité, il est bien possible d'avoir un deuxième, troisième lot,... >.<

S'il était possible et ne te dérangeant pas, peux tu résoudre cette "réalité" s'il te plait ?

Je te remercie déjà profondément pour ce que tu as déjà fait.

Merci encore !!

C'est toi le client, c'est toi qui dit ce que tu veux

Amicalement.

15lot-v4.xlsm (25.75 Ko)

MERCIII !!!!!!!!!! T'es mon dieu !! Yvouille

Merci encore ^^

Oh, là ! Tu places la barre bien haut

Je me suis dit : "Il faut que je trouve quelque chose qui ne joue pas dans mon code pour prouver ma condition bassement terrestre"........... et j'ai trouvé

Si un client n'a aucune possibilité de lot (tel que j’ai simulé le client tata dans les fichiers ci-joints) ou qu’il a plusieurs produits en fin de liste qui ne permettent plus de créer des lots (tel que j’ai simulé le client toto), ma macro tourne à l'infini, tel que dans la version 5. Tu es alors obligé de mettre fin à la macro par la touche 'Esc" et – comme le code n’est pas passé par l’instruction ‘Application.EnableEvents = True’ - les macros événementielles ne fonctionnent plus. Après avoir mis fin de cette manière une peu abrupte à la macro, si tu sélectionnes la feuille ‘Résultat’, il ne se passe plus rien.

Afin de réactiver les macros événementielles, tu peux soit fermer complètement l’application Excel et recommencer à zéro, soit aller dans l’explorateur VBA et lancer manuellement ma macro ‘Provisoire’ dans le module 1. Pour lancer une macro manuellement, tu places le curseur n’importe où sur une ligne de la macro et soit tu cliques F5, soit tu cliques sur la petite flèche verte dans l’explorateur.

Amicalement.

13lot-v5.xlsm (27.53 Ko)
13lot-v6.xlsm (27.99 Ko)

Ahaha, c'est vrai que la macro il fallait réfléchir beaucoup pour la faire, mais tu as réussi !!!

Et Merci encore ^^

Rechercher des sujets similaires à "rechercher bdd constituer lots"