XL 2016 Réorganiser des colonnes

Sarah_f

XLDnaute Nouveau
Bonjour,


Je souhaiterai réorganiser des bases de données grâce à une VBA

Je vous mets une fichier test pour comprendre ma requête.

Les but est de mettre les colonnes dans le bon ordre en fonction du nom de l'en-tête. Ce sera un fichier de transco, et donc mes bases de données sont amenées à évoluer (en terme de nb de lignes mais également en terme et nb et d'ordre des colonnes lorsque les extractions sont réalisées. C'est pour ce fait que j'insiste sur une organisation des colonnes en fonction du nom car dans un premier temps j'avais réalisé des enregistrements macros mais cela me pose soucis lorsque d'un mois à un autres on a pas les mêmes colonnes lors de l'extraction).

Merci d'avance pour votre aide
 

Pièces jointes

  • TEST_TRANSCO.xlsx
    8.7 KB · Affichages: 17

Sarah_f

XLDnaute Nouveau
Bonjour,

Merci pour votre réponse
le souci c'est que parfois je vais avoir une extraction avec un ordre du genre :

nom / prénom / ville / age / entreprise / ecole

Parfois j'aurai :

prenom / ecole / entreprise / nom / age / ville

Parfois même j'aurai de nouvelles colonnes :

nom / prenom / age / tuteur / entreprise / ville / ecole

C'est pour ce fait que je souhaiterai réorganiser en fonction du NOM de l'en tête la BDD de la page "BDD_1" pour arriver toujours au résultat de la feuille "BDD_2"
 

Dudu2

XLDnaute Barbatruc
Bonjour,

Voici une version VBA qui prend l'ordre des colonnes de la BDD_2 (considérée comme feuille "Modèle" pour l'ordre des titres) et réorganise les colonnes de la feuille active selon cet ordre.

Pour activer la macro sur la feuille à réorganiser il faut taper le raccourci associé à la macro: Ctrl + w
 

Pièces jointes

  • TEST_TRANSCO.xlsm
    16.6 KB · Affichages: 7

Dudu2

XLDnaute Barbatruc
Comme je n'ai pas bien compris cette histoire des plusieurs liste de titres / classement, s'il faut ajouter un prompt pour choisir la feuille Modèle parmi plusieurs possibles, let me know !

Selon ce que j'imagine, il faudrait surtout sortir dans un classeur séparé la macro et la ou les feuilles Modèles pour appliquer le traitement sur un classeur ne contenant que la liste à organiser.
Mais bon, ce n'est qu'une supposition.
 
Dernière édition:

Sarah_f

XLDnaute Nouveau
En fait j'aimerai juste récupérer les données de la feuille "BBD_1" pour les placer dans les bonnes colonnes dans la feuille "BBD_2"
Et donc faire une VBA pour récupéré les données en fonction du nom des entête et non en fonction de la lettre de la colonne.

Après, la VBA de Dudu2 marche bien merci beaucoup, mais le pb c'est que mes extractions changent régulièrement.
je souhaiterai vraiment seulement récupérer les données nécessaires et dans le bon ordre
 

chris

XLDnaute Barbatruc
RE

Il suffit de lister les colonnes dans l'ordre voulu dans Paramètres, puis Données, Actualiser tout

Ceci quel que soit le nombre et le nom des colonnes du moment que les titres soient cohérents entre BDD_1 et Paramètres
 

Pièces jointes

  • TRANSCO_PQ.xlsx
    20.1 KB · Affichages: 6

Dudu2

XLDnaute Barbatruc
Bonjour,

Les but est de mettre les colonnes dans le bon ordre en fonction du nom de l'en-tête
En fait j'aimerai juste récupérer les données de la feuille "BBD_1" pour les placer dans les bonnes colonnes dans la feuille "BBD_2"
En fait voilà 2 indications contradictoires ! Enfin, ça fait partie du deal ...

J'ai fait un classeur VBA indépendant qui demande le classeur à traiter ainsi que les feuilles à coller et copier.
En théorie plus long à faire que le PowerQuery (encore que je n'en sais rien vu mon ignorance de la chose), mais comme j'ai des modules tout prêts pour certaines fonctions c'est très rapide à faire.
 

Sarah_f

XLDnaute Nouveau
Bonjour,



En fait voilà 2 indications contradictoires ! Enfin, ça fait partie du deal ...

J'ai fait un classeur VBA indépendant qui demande le classeur à traiter ainsi que les feuilles à coller et copier.
En théorie plus long à faire que le PowerQuery (encore que je n'en sais rien vu mon ignorance de la chose), mais comme j'ai des modules tout prêts pour certaines fonctions c'est très rapide à faire.
Je m'étais mal exprimée dans mes premiers messages je pense !
En tout cas merci pour vos réponses vous m'avez été d'une grande aide :)
 

Discussions similaires

Statistiques des forums

Discussions
311 735
Messages
2 082 024
Membres
101 873
dernier inscrit
excellllll