Création couples d'articles dans une commande

Bonjour à Toutes et Tous,

Je profite de ce confinement pour ressortir de vieux dossiers .... peut être aurez-vous un petit moment pour vous pencher dessus :

Je cherche à créer à partir d'un historique de commande tous les couples de 2 articles au sein d'une même commande afin d’essayer de faire émerger des récurrences.

Mon problème est que dans une même commande il peut y avoir N articles. Par exemple dans une commande avec 3 articles (A,B,C) je voudrais créer 3 lignes avec pour l'une A;B, pour l'autre B;C et pour la dernière A;C. Sachant que l'on parle d'ici de 116000 récurrences. J'aimerais également avoir le numéro de commande à coté du couple de 2 articles créé.

Je vous joins un fichier à titre d'exemple avec les numéros de commande comme pivot et les codes articles.

En espérant que j'ai réussi à me faire comprendre ....

D'avance merci !!

Cordialement.

Bonjour LASpiro,

En fait pour une commande de n articles, tu veux ressortir toutes les combinaisons de 2 parmi n articles.

Exemple : la commande 0043544042 comporte 47 articles soit 2 parmi 47 = 1081combinaisons

Tu veux donc ressortir 1081 lignes en listant toutes les combinaisons de cette commande, c'est bien ça

C'est quoi l'intérêt, j'aime bien savoir

klin89

Bonjour

Un essai, appuyer sur bouton bleu pour faire exécuter la macro

Fred

Edit :

bonjour Klin89

Bonjour

Bonjour à tous

Un essai à tester.

Bye !

Bonjour Gmb....

il me semble que tu as zappé une petite particularité... si le BC n'a qu'une seule référence on met pas de "couple"...

capture

Fred

Bonjour a tous !

Merci déjà pour votre temps. Je vais tester cela et je reviens vers vous.

Klin89 pour répondre à ta question l'idée est de faire émerger des "couples" d'articles similaire dans différentes commandes afin de les positionner à proximité dans l'entrepôt. Nous avons quasiment 45000 articles différents en commercialisation avec un convoyeur automatique qui s’arrête dans des gares. Donc plus les articles souvent commandés ensemble seront prés moins il y aura de déplacement pour préparer les commandes.

Encore merci pour votre aide je vous confirme si cela fonctionne.

Cordialement.

Bonjour gmd,

Merci pour ta proposition, cela fonctionne sur l'exemple par contre quand je mets les 150000 lignes j'obtiens un résultat avec des références articles dans les deux colonnes ....

D'avance merci pour ton temps.

Cordialement.

capture1

Bonjour

Tu devrais joindre ton fichier aux 150000 lignes, en passant au besoin par www.cjoint.com.

Tu obtiendras ainsi un lien qu'il te suffira de copier et de coller dans ton prochain message.

Bye !

Bonjour a tous

As tu essayé ma proposition ??

Fred

Bonjour à tous

Egalement faisable par PowerQuery intégré à 2016 mais il faudrait effectivement un fichier plus conséquent et préciser davantage la forme du résultat

Bonjour à tous,

@Fred2406 j'ai testé ta proposition et j'obtiens une erreur sur la macro avec un dépassement de capacité.

J'ai créé un lien de partage (

) pour le fichier complet.

L'idée, si possible, serait d'avoir un fichier qui fonctionne aujourd'hui sur 1500000 ligne mais sans limite (sauf capacité d'excel) pour pouvoir l'utiliser demain sur un nombre de référence plus important.

D'avance merci !!!

Bonjour à tous,

@Fred2406 j'ai testé ta proposition et j'obtiens une erreur sur la macro avec un dépassement de capacité.

capture4 capture3

J'ai créé un lien de partage (

) pour le fichier complet.

L'idée, si possible, serait d'avoir un fichier qui fonctionne aujourd'hui sur 1500000 ligne mais sans limite (sauf capacité d'excel) pour pouvoir l'utiliser demain sur un nombre de référence plus important.

D'avance merci !!!

Bonjour

Bonjour à tous

quand je mets les 150000 lignes j'obtiens un résultat avec des références articles dans les deux colonnes ....

Effectivement, mon PC manquait de mémoire vive.

J'ai saucissonné..

Nouvel essai.

Bye !

re à tous,

Pour le fun, j'ai ressorti les commandes de plus de 40 articles et lister leur nombre de combinaisons.

A noter que le nombre de commandes est égal à 50 330 dont 27517 ne comportent qu'un article.

capture 8

gmb :

Pourquoi utilises-tu Redim Preserve, alors que tu peux dimensionner ,dès le départ, la variable tableau à restituer (1 to 100 000, 1 to 2) et t'appuyer sur k pour indicer la 1ère dimension à chaque itération.

Pour la restitution, pas besoin d'application.transpose dans ce cas.

klin89

Pourquoi utilises-tu Redim Preserve, alors que tu peux dimensionner ,dès le départ, la variable tableau à restituer

Je travaille avec 2 tableaux : celui des colonnes A et B qu’on peut parfaitement définir dès le départ : c’est tablo

Pour ce qui est du deuxième, tabloR, qui sera celui du résultat, je ne connais pas sa dimension au départ, car il dépend du nombre final de doublons que je trouverai. Or, celui-ci est inconnu au départ.

Il me faut donc passer par un tableau transposé car on ne peut incrémenter que la deuxième (ou dernière) dimension d’une variable tableau.

A noter par ailleurs, comme je l'ai indiqué précédemment, un problème de capacité de mon PC ne m'a pas permis d'établir correctement tabloR d'un coup. j'e l'ai donc fait en 3 fois en copiant les trois tabloR intermédiaires à la suite sur la feuille de calcul

OK ?

Bye !

Bonjour à tous

Je vais attendre avant de revoir mon code...

si la proposition de Gmb est fonctionnelle... je n'irais pas plus loin...

Fred

Bonjour à tous

Je poste ma solution PowerQuery qui suit les principes suivants :

  • conservation des seules commandes ayant au moins 2 articles
  • conservation des seuls articles vendus au moins sur 30 commandes
  • liste des couples avec nombre de ventes de chacun des membres du couple
Rechercher des sujets similaires à "creation couples articles commande"