Copier un tableau en déplaçant les colonnes

GTT-76

XLDnaute Nouveau
Bonjour ! :)

J'utilise un logiciel duquel je peux extraire des données sous forme de tableur Excel simple (xls). Nous sommes plusieurs à nous en servir.
A partir de là, on exporte les données dans un autre classeur, dans lequel ces données sont exploitées pour d'autres applications.
L'import se passe très bien, aucun problème de ce côté-là.
Mais...
Avant d'exporter ces données, le logiciel les affiche sous forme de tableau. Et dans ce tableau, chaque utilisateur peut à sa convenance déplacer les colonnes comme il l'entend (pour raisons diverses). Malheureusement, lorsqu'on exporte les données, l'export conserve la mise en page de l'utilisateur.
Et comme plusieurs utilisateurs utilisent ce logiciel et que chacun a sa mise en page propre, je souhaite que chacun puisse exporter les données sous sa mise en page propre et qu'on puisse ensuite retravailler cet export afin de déplacer les colonnes dans un ordre spécifique, sachant que le nombre de colonnes est conséquent (56) et que vérifier le canevas d'export manuellement à chaque fois n'est pas envisageable.
Est-ce possible, à votre connaissance ?
Précision : j'utilise des tableaux structurés.

En vous remerciant par avance de vous pencher sur le sujet. ;)
 

fanch55

XLDnaute Barbatruc
Avant d'exporter ces données, le logiciel les affiche sous forme de tableau. Et dans ce tableau, chaque utilisateur peut à sa convenance déplacer les colonnes comme il l'entend (pour raisons diverses). Malheureusement, lorsqu'on exporte les données, l'export conserve la mise en page de l'utilisateur.
Salut, je ne comprend pas ou mal . :oops:
C'est l'utilisateur via Excel qui exporte les données ou c'est un logiciel spécifique ?

Je suppose que si les utilisateurs ont un format d'affichage personnel, ils ne travaillent pas avec les mêmes données ?
 

GTT-76

XLDnaute Nouveau
Bonjour,

Dans le logiciel de départ, c'est l'utilisateur qui décide cliquer sur un bouton pour exporter les données sous forme de classeur Excel. Le hic, c'est que pour exporter les données, le logiciel crée tout d'abord un classeur "interne" et on a ensuite la possibilité d'exporter ce qu'il affiche. C'est là que le bas blesse ; si chacun a une mise en page des données différente, l'export final Excel ne sera jamais le même.
 

fanch55

XLDnaute Barbatruc
Si je comprend bien :

1587741416159.png


Les utilisateurs ne font qu'un ré-aménagement de l'ordre des colonnes ?
 

GTT-76

XLDnaute Nouveau
L'export ne sera jamais le même pour pouvoir l’exploiter ensuite car j'ai besoin que les colonnes soient dans un certain ordre.
Je cherche à savoir s'il existe un moyen pour déplacer des colonnes d'un tableau automatiquement selon un modèle donné.
Peut-être me suis-je mal exprimé amis quand je me relis, j'ai l'impression que je ne peux pas l'expliquer autrement. :(
 

GTT-76

XLDnaute Nouveau
Merci pour le message (qui ne sert à rien)... :rolleyes:

Je n'ai pas non plus posté " je veux déplacer des colonnes, comment qu'est-ce que j'fais ???"
Non, je pense que j'ai détaillé le truc au mieux selon l'idée que j'en avais. J'ai tenté de bien expliquer pour qu'on comprenne... Je n'y suis peut-être pas arrivé mais demander des détails permet d'avancer... Les messages de ce type, par contre, je m'en passerai aisément, ça n'arrange rien à rien et dans l'esprit, je trouve vraiment ça naze...
N'y voyez rien de méchant, je suis juste surpris qu'on me réponde un truc aussi incongru lorsque je demande de l'aide sur ne fonction VBA que je ne maîtrise pas...

Ceci étant dit... :)

Je reprend, je fais aussi simple que possible... Voilà le scénario idéal :
1. J'exporte des données d'un logiciel X sous format excel, ce qui me donne un tableau dans un classeur A.
2. J'importe les données du tableau du classeur A dans un classeur B, feuille 1.
3. Je crée un tableau dans le classeur B, feuille 2, qui va chercher les données du tableau de la feuille A et qui place les colonnes dans un certain ordre, par rapport au nom des en-têtes.

Si je ne suis pas compris, eh bien n'hésitez pas à me demander plus d'infos, comme l'a fait la personne un peu plus haut...
Merci.
 

fanch55

XLDnaute Barbatruc
@GTT-76

Ci-joint un fichier dans lequel tu trouveras 4 feuilles comportant chacune un tableau.

Je suis parti du principe que les feuilles "récupérées" ont été nommées "Usern" n étant un nombre pour différencier les utilisateurs (feuill1 dans ton exemple mais multiplié par n utilisateurs).

Ces feuilles ont été virtuellement "extraites" avec un critère empirique basé sur la colonne Dpt,
chaque utilisateur travaillant sur un seul et unique Dpt ( en ce cas ).
Ces tableaux ont des colonnes ordonnées différemment .

La feuille contenant la table Cible se nomme "Final" et comporte un bouton qui lance l'agrégation ( ta feuill2) .
J'ai été au plus court en faisant appel à du Sql Excel .

Fichier supprimé voir Post26
 
Dernière édition:

GTT-76

XLDnaute Nouveau
Bonjour @fanch55 et merci pour le temps passé à m'aider sur le sujet.

J'ai testé le fichier joint mais lorsque j’exécute la macro du fichier joint en cliquant sur le bouton "agréger", j'ai une erreur d'exécution, qui m'empêche de voir la finalité de la chose :

debug.png


Cela dit, je précise que lorsque les utilisateurs exportent leurs données, ils le font en écrasant le fichier déjà existant, ce qui fait que je n'ai qu'une seule feuille de données à exploiter et non plusieurs. Peut-être que la solution sera plus simple avec un seul fichier/une seule feuille ?
Merci.
 

fanch55

XLDnaute Barbatruc
Cela dit, je précise que lorsque les utilisateurs exportent leurs données, ils le font en écrasant le fichier déjà existant, ce qui fait que je n'ai qu'une seule feuille de données à exploiter et non plusieurs. Peut-être que la solution sera plus simple avec un seul fichier/une seule feuille ?
Bonsoir, je suis surpris,
ce sont les utilisateurs qui provoquent l'export vers le Classeur final et ce dans la même feuille ?
C'est donc le dernier qui gagne ... :rolleyes:

Ci-joint un fichier Zip comportant 3 classeurs Excel de nom UserX.xls ou X sert à les différencier .
Celui qui s’appelle GTT sert à agréger les autres .
En cliquant sur le bouton Agréger, on va chercher un des fichiers User, qu'il soit ouvert ou non .
J'espère que cela collera mieux avec votre vision du processus . :cool:

Fichier supprimé voir Post26
 
Dernière édition:

GTT-76

XLDnaute Nouveau
Re,

Après essais, il s'avère que la macro plante à l'exécution :
debug-1.png


Le ligne qui pose problème se situe dans la Sub Importer :
VB:
Dim Source_File     As ADODB.Connection

Je me débrouille généralment assez bien pour comprendre le langage VBA mais là, aves cette histoire de SQL, je suis perdu, j'avoue !
 

Discussions similaires

Réponses
1
Affichages
197

Statistiques des forums

Discussions
312 326
Messages
2 087 313
Membres
103 513
dernier inscrit
adel.01.01.80.19