mapping de champs et changement ordre des colonnes
2 réponses
Christophe Joly
Bonjour:
J'ai des formulaires en ligne pour lesquels je récupere en ligne sous un
format excel les informations envoyées.
Je souhaiterais pouvoir copier/coller les données de ce tableau dans une
autre feuille excel dont les titres des colonnes peuvent avoir des noms
differents (par exemple "company" dans le tableau en ligne et "societe" dans
la feuille de destination et aussi peuvent etre dans un ordre different (par
exemple "company" est dans la 1ere colonne (A) dans le tableau en ligne et
"societe" est dans la 3eme colonne (C) dans la feuille de destination.
Il est également possible que des champs du tableau en ligne n'ait pas de
champ correspondant dans la feuille de destination et vice versa.
En general j'ai de 75 à 125 champs/colonnes.
Je vous remercie par avance pour toute methodologie ou solution que vous
pourriez me suggerer.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
Une piste :
En general j'ai de 75 à 125 champs/colonnes
Vu le nombre, il serait préférable de faire un tableau dans une feuille avec (par ex.) en col A les Noms et en col B les Equivalences Ensuite tu pourrais chercher la colonne à renseigner en fonction du champ Grosso modo et avec plages nommées, ça pourrait faire qque chose comme ça :
laVar = "Company" x = Evaluate("index(NomsEquiv,match(""" & laVar & """,NomsChamps,0))") y = Sheets("Feuil2").Rows("1:1").Find(x).Column --- etc ---
AV
Une piste :
En general j'ai de 75 à 125 champs/colonnes
Vu le nombre, il serait préférable de faire un tableau dans une feuille avec
(par ex.) en col A les Noms et en col B les Equivalences
Ensuite tu pourrais chercher la colonne à renseigner en fonction du champ
Grosso modo et avec plages nommées, ça pourrait faire qque chose comme ça :
laVar = "Company"
x = Evaluate("index(NomsEquiv,match(""" & laVar & """,NomsChamps,0))")
y = Sheets("Feuil2").Rows("1:1").Find(x).Column
--- etc ---
Vu le nombre, il serait préférable de faire un tableau dans une feuille avec (par ex.) en col A les Noms et en col B les Equivalences Ensuite tu pourrais chercher la colonne à renseigner en fonction du champ Grosso modo et avec plages nommées, ça pourrait faire qque chose comme ça :
laVar = "Company" x = Evaluate("index(NomsEquiv,match(""" & laVar & """,NomsChamps,0))") y = Sheets("Feuil2").Rows("1:1").Find(x).Column --- etc ---
AV
Christophe Joly
Alain, Très intéressant. Je vais suivre ta piste. Remerciements. Christophe "AV" a écrit dans le message de news:eO$
Une piste :
En general j'ai de 75 à 125 champs/colonnes
Vu le nombre, il serait préférable de faire un tableau dans une feuille avec
(par ex.) en col A les Noms et en col B les Equivalences Ensuite tu pourrais chercher la colonne à renseigner en fonction du champ Grosso modo et avec plages nommées, ça pourrait faire qque chose comme ça :
laVar = "Company" x = Evaluate("index(NomsEquiv,match(""" & laVar & """,NomsChamps,0))") y = Sheets("Feuil2").Rows("1:1").Find(x).Column --- etc ---
AV
Alain,
Très intéressant. Je vais suivre ta piste.
Remerciements.
Christophe
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
news:eO$u1X8yDHA.2604@TK2MSFTNGP09.phx.gbl...
Une piste :
En general j'ai de 75 à 125 champs/colonnes
Vu le nombre, il serait préférable de faire un tableau dans une feuille
avec
(par ex.) en col A les Noms et en col B les Equivalences
Ensuite tu pourrais chercher la colonne à renseigner en fonction du champ
Grosso modo et avec plages nommées, ça pourrait faire qque chose comme ça
:
laVar = "Company"
x = Evaluate("index(NomsEquiv,match(""" & laVar & """,NomsChamps,0))")
y = Sheets("Feuil2").Rows("1:1").Find(x).Column
--- etc ---
Alain, Très intéressant. Je vais suivre ta piste. Remerciements. Christophe "AV" a écrit dans le message de news:eO$
Une piste :
En general j'ai de 75 à 125 champs/colonnes
Vu le nombre, il serait préférable de faire un tableau dans une feuille avec
(par ex.) en col A les Noms et en col B les Equivalences Ensuite tu pourrais chercher la colonne à renseigner en fonction du champ Grosso modo et avec plages nommées, ça pourrait faire qque chose comme ça :
laVar = "Company" x = Evaluate("index(NomsEquiv,match(""" & laVar & """,NomsChamps,0))") y = Sheets("Feuil2").Rows("1:1").Find(x).Column --- etc ---