Conversion tableau en lignes

Bonjour,

J'ai besoin d'une macro pouvant répondre au besoin suivant :

J'ai comme données de références :

image

Je souhaite convertir les données de ce tableau dans ce format :

image

Les catégories GROS, MOYENS, PETITS font référence à différentes structures :

image

L'objectif étant de convertir rapidement les informations du tableau de référence en plusieurs lignes...

Merci d'avance pour votre aide. Je peux joindre un fichier si besoin.

Bonjour Manon

En effet, pourriez vous partager un fichier (en supprimant ou remplaçant les données sensible).

Juste pouvez vous expliquer d'où provient le numéro "1" que vous attribuer dans la colonne société et également pour le magasin, idem pour la gamme pourriez vous expliquer ce que signifie "O".

Bonjour Arnaud,

Le n°1 de la colonne société est simplement une catégorie de structures, c'est une donnée qui ne changera pas.

Pour la colonne magasin, le code 1 correspond à une structure , tout comme la 2,3,5,6 elles sont classées comme ceci :

image

Pour la colonne Gamme, "O" pour oui "N" pour non.

Il s'agit ici de faciliter la préparation d'un fichier pour programmer notre ERP (programmation d'une mise à la gamme de références dans les différentes structures).

Je joins un fichier excel, dans la feuille n°1, les données de références et dans la feuille n°2 les données prêtes à être intégrées dans notre ERP.

5test-gammes.xlsx (19.49 Ko)

Merci d'avance pour votre aide !!

Ok j'ai fait une macro dans le fichier joint, j'espère que ça correspond à votre demande.

Vous pouvez cliquer sur "RUN" pour lancer la macro, et les résultats se mette sur la "Feuil3".

Si jamais vous devez rajouter d'autre article, il faudra modifier la macro manuellement ou alors lui faire détecter automatiquement le nombre d'article ( idem pour les magasins)

4test-gammes.xlsm (29.87 Ko)

MERCI, c'est exactement ce qu'il me fallait.

Par curiosité et simplicité, comment lui faire détecter automatiquement le nombre d'articles/mag ?

Oui bien sur, je rajoute juste ce petit bout de code avant "For Each cellule In Range("G2:G" & lastArticleRow)" dans le cas des articles

    'Recherche le dernier article
    Dim lastArticleRow As Byte
    lastArticleRow = Range("G1").End(xlDown).Row
        

J'ai modifier pour que ça fonctionne pour les articles et les magasins.

J'ai également rajouter une partie dans la macro pour vider le contenu de la feuil3 tout en laissant les entêtes avant de commencer a écrire dedans.

6test-gammes.xlsm (45.06 Ko)

Bonsoir,

Une alternative à VBA avec Power Query (natif Excel 2016).

Cdlt.

3test-gammes.xlsx (37.39 Ko)

Hello,

Une autre proposition pour le plaisir

2test-gammes.xlsm (70.56 Ko)
Rechercher des sujets similaires à "conversion tableau lignes"