Macro pour transformer un tableau mois de colonnes en ligne

Bonjour,

Une aide possible pour transformer un tableau avec des données classées par mois en colonnes pour les faire passer en lignes?

Avec une interrogation, cette transformation va créer un tableau qui comportera au minimum 30 000 lignes est ce que cela va pas être trop lourd?

Je joins un tableau type pour plus d'info...

D'avance merci.

Salut,

Si je t’ai bien compris, la macro placée dans le fichier ci-joint devrait faire l’affaire.

J’ai considéré que tu n’avais jamais que 4 colonnes par mois sur la feuille de base. J’y ai placé un bouton qui te permet de lancer la macro.

Les données de la feuille ‘Destination’ sont à chaque fois effacées avant d’être réécrites en fonction des modifications de la feuille ‘Données sources’.

Pour 30'000 lignes ça risque de duré un peu, mais ça devrait passer quand même.

Cordialement.

Bonjour,

Et merci de ta réponse rapide, quitte à abuser serait il possible que tu ajoutes des commentaires d'explication a la macro, afin que:

_ J'essaye de la comprendre pour l'appliquer et la modifier à mon tableau

_ Deux que j'essaye de m’améliorer au VBA, peut être un jour...

Dans le fichier ci-joint, quelques commentaires sommaires. Pour plus d'informations, merci de poser des questions plus précises.

Amicalement.

Alors effectivement même avec explication j'ai beaucoup de mal a adapter...

Déjà définir la feuille source qui est la feuil50(données source 1)

Ensuite j'ai effectivement plusieurs pays mais surtout plusieurs code article par pays, donc cette opération de recopier 12 fois les premières données doit se faire en fonction du code article puis des pays.

Enfin j'ai 11 colonnes par mois à copier...

Je renvoie un tableau pour mieux expliquer....

Merci

En me fournissant des fichiers qui ne correspondent pas à la réalité, on perd un temps énorme

De plus évite absolument de placer des informations dans les fichiers. Lorsque tu fournis un fichier une deuxième fois, on ne sait plus si l’information est actuelle ou non. De plus, pour l’historique de la discussion, les textes sur ton fil sont beaucoup mieux.

La première fois tu m’as fourni un fichier avec 4 colonnes en jaune, maintenant il y en a 5 et apparemment tu indiques dans la colonne E qui peut y avoir un nombre différents à chaque fois, mais ce n’est pas clair du tout. Alors qu’en est-il exactement ? S’il y a à chaque fois un nombre différents de colonnes jaunes, comment puis-je les différencier des colonnes suivantes à traiter différemment ? Il est très probable qu’en voyant ton fichier réel, je trouverais moi-même la solution.

Tu dis également que tu as 11 colonnes de données par mois (alors pourquoi en n’avoir présenté que 4 et que pour les 3 premiers mois de l’année la première fois ) ; est-ce un nombre définitif ?

A te relire.

Bonjour,

J'avoue avoir simplifié le fichier, pour deux raisons, je pensais que j'arriverai à l'adapter et que cela serait un moyen de m’améliorer en VBA, observant les fonctions je pourrai. J'aime bien comprendre ce que je fais, mais la je bloque.

Ensuite le fichier est bcp trop lourd pour le joindre tel quel...

Comme dit precedement la feuille de données source est deja une consolidation de 46 autres, chaque pays rentreront chacun leurs données que je dois regrouper pour analyser la zone totale. Les données par mois n’évolueront pas et comporteront toujours les mêmes colonnes. Par contre les données en jaunes évoluent en fonction des ventes. le nombre d'article pouvant évoluer.

Le but étant de pouvoir établir un TCD, avec l'ensemble des données mais il semble impossible de le faire si les champs présentent deux hauteur. La seule solution (a mon niveaux...) était de changer la mise en page pour mettre les mois en ligne est donc ensuite établir un TCD.

Je t'envoie donc a ce moment la, la feuille recap des 46 pays si ça te va, et dit moi si tu as une solution pour établir un TCD...

Désolé pour le désagrément....

En espérant avoir été clair...

Salut,

J’ai pris ton fichier ‘essai classement date’ et l’ai renommé ‘Essai_V1’. J’y ai supprimé la macro inscrite dans le code de la Feuil1(Recap …..) et qui bloquait à chaque sélection de cette feuille.

Je n’ai pas tenu compte de tes remarques dans tes fichiers, car je ne sais jamais si elles me sont adressées ou non, si elles sont actuelles ou non (je t’en avais déjà parlé).

Je n’ai pas trop tenu compte de ta feuille ‘Exemple de feuille pays’ car ça commence à faire un peu trop de feuilles exemple. Je vais donc m’en tenir plus ou moins à ta nouvelle feuille ‘exemple de classement par date’ que j’ai renommée ‘Résultats’ et sur laquelle j’ai enlevé tes deux lignes du sommet, ce qui évite que la macro sera à corriger plus tard, lorsque tu voudras les supprimer toi.

Comme tu dis que le nombre de colonnes ‘jaunes’ peut varier, je recherche au préalable la première occurrence des mots ‘Arrival order’ sur la ligne 7 de la feuille ‘Recap des Feuilles pays’ que j’ai renommée ‘Base’. Nouvellement (pourquoi ne pas m’avoir fourni ce fichier de suite ?) la première ligne à traiter se trouve sur la ligne 8 ; j’ai modifié la macro en conséquence.

Tes titres des cellules ‘jaunes’ de la ligne 7 de la feuille ‘Base’ sont repris avec une colonne de décalage vers la droite sur la feuille ‘Résultats’. Dans ta cellule C7 de la feuille ‘Base’, tu as le texte ‘annee 2014’ alors que dans ta feuille ‘exemple de classement par date’, en D3, tu as le texte ‘Libélé article’. Si tu désires absolument laisser le texte ‘annee 2014’ sur la feuille ‘Base’ et avoir le texte ‘Libélé article’ sur la feuille ‘Résultats’, il faut me l’indiquer et on trouvera une solution.

Autrement les données sont reportées d’une feuille à l’autre tel que selon tes premières demandes et ma première macro, aux différences près que le nombre variable de colonnes ‘jaunes’ et que tes 11 colonnes par mois sont pris en compte. J’ai également placé un bouton sur la feuille base afin de lancer la macro.

Ma macro rame un peu, il faut une minute environ sur un PC un peu lent pour arriver au bout de cette feuille.

A te relire.

Bonjour,

Tout semble fonctionner nickel, donc merci beaucoup...

La macro procède a un saut de ligne à chaque fois mais c pas plus mal, cela aère et je peux dans tous les cas les supprimer dans le TCD.

Pas de soucis pour le "Année 2014" c’était plutôt un oublie de ma part.

Je désespère de faire moi même un code de ce genre un jour.... mais qui sait...

Je change les annotations sur le fichier que j'envoie, a chaque fois, mais je prends bonne note de

1 envoyer directement le fichier concerné et pas un exemple

2 de n'y mettre aucune annotation.

Et encore merci

SAMAHA a écrit :

La macro procède a un saut de ligne à chaque fois mais c pas plus mal,

J'ai laissé une ligne vide car c'était comme cela sur ton premier exemple ; j'ai même dû trouver une ligne de code pour réaliser cela

Si tu ne désires pas cet espace, supprime la ligne

If DerLig_Bis > 1 Then DerLig_Bis = DerLig_Bis + 1

Je remarque à l’instant que j’ai également oublié d’effacer la ligne

'xxxxxxxxxxxxxxxxxxxxxxx

Amicalement.

Ah oui j'avais sauté une ligne pour suggérer les "etc", pas facile de s'exprimer et d'expliquer...

Merci pour les infos....

Dit moi une derniere question j'ai pas mal de feuillle avec des macro, puis je me servir du meme bouton "transfert" pour commander toutes les mise à jour des feuilles?

Re,

A première vue, tu devrais pouvoir copier-coller le bouton ‘Transfert’ de la feuille ‘Base’ à une feuille ayant exactement la même structure que le feuille ‘Base’ et la macro devrait fonctionner identiquement. Mais comme est prévue la macro, le transfert se ferait à chaque fois sur la feuille ‘Résultats’. A toi de faire quelques essais.

Par contre, si ce report devait se faire sur une autre feuille à chaque fois (par exemple de la feuille ‘Base A’ à la feuille ‘Résultats A’, de la feuille ‘Base B’ à la feuille ‘Résultats B’, etc.), il faudrait modifier le code en conséquence.

Pourquoi ne pas avoir indiqué dès le départ le besoin réel

Amicalement.

Le besoin réel des le départ? Si seulement je l'avais.... lol

Je suis en train d'essayer d’établir, un tableau de bord, les directives changent a peu prés toutes les demi journées, et je dois m'adapter à chaque fois.

Le projet est déjà pas mal avancé, et je ne voulais pas tout recommencer, mais cela complique les liens avec les feuilles et les tableaux.

Du coup la je suis deja à un fichier de 4Mo, alors que j'en suis qu'au niveaux des consolidations de données et que j'ai pas commencé encore l'analyse, les courbes....

Et n’étant pas un pro d'excel je mets 10 fois plus de temps a faire les choses....

Et quand je demande des renseignements, je n'ose pas trop aller dans les details de peur "d'abuser" de votre gentillesse, et de votre patience.

D'ou le fait de ne pas envoyer la demande des le depart....

Yvouille a écrit :

A première vue, tu devrais pouvoir copier-coller le bouton ‘Transfert’ de la feuille ‘Base’ à une feuille ayant exactement la même structure que le feuille ‘Base’ et la macro devrait fonctionner identiquement. Mais comme est prévue la macro, le transfert se ferait à chaque fois sur la feuille ‘Résultats’. A toi de faire quelques essais.

Par contre, si ce report devait se faire sur une autre feuille à chaque fois (par exemple de la feuille ‘Base A’ à la feuille ‘Résultats A’, de la feuille ‘Base B’ à la feuille ‘Résultats B’, etc.), il faudrait modifier le code en conséquence.

Je reste malgré tout à ta disposition

Rechercher des sujets similaires à "macro transformer tableau mois colonnes ligne"