Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Automatiser la structure d'une table lors de l'importation d'un fichier Excel

11 réponses
Avatar
C15
Bonjour à tous et à toutes,

Je vais avoir à importer tous les mois un fichier Excel (données venant
elles-mêmes d'un gros système) ayant toujours la même structure, avec des
données de type texte, dates et numériques.

Lors de l'importation en tant que table dans Access il me faut
systématiquement redéfinir un certain nombre de propriétés (type de données,
taille...), ça, c'est normal (hélas).
Le mois suivant je vais avoir à faire la même chose, puis par une requête
ajout, rajouter ces derniers enregistrements dans la table du mois précédent
pour cumuler le tout, et ainsi de suite d'un mois à l'autre.

Sur un grand nombre de champs, c'est fastidieux et on peut se planter dans
une saisie de propriété, et donc bloquer le rajout d'enregistrements dans
une table déjà structurée.

J'ai peur de connaître votre réponse, mais je tente le coup, y-a-t-il un
moyen automatique d'appliquer aux nouveaux enregistrements des propriétés
déjà définies pour que le rajout dans la table "de cumul" se passe bien par
la suite ?

Merci de votre aide

A+

C15

10 réponses

1 2
Avatar
Michel_D
Bonjour à tous et à toutes,

Je vais avoir à importer tous les mois un fichier Excel (données venant
elles-mêmes d'un gros système) ayant toujours la même structure, avec des
données de type texte, dates et numériques.

Lors de l'importation en tant que table dans Access il me faut
systématiquement redéfinir un certain nombre de propriétés (type de données,
taille...), ça, c'est normal (hélas).
Le mois suivant je vais avoir à faire la même chose, puis par une requête
ajout, rajouter ces derniers enregistrements dans la table du mois précédent
pour cumuler le tout, et ainsi de suite d'un mois à l'autre.



Pourquoi ne pas importer directement dans ta Table du mois précédent ?


Sur un grand nombre de champs, c'est fastidieux et on peut se planter dans
une saisie de propriété, et donc bloquer le rajout d'enregistrements dans
une table déjà structurée.

J'ai peur de connaître votre réponse, mais je tente le coup, y-a-t-il un
moyen automatique d'appliquer aux nouveaux enregistrements des propriétés
déjà définies pour que le rajout dans la table "de cumul" se passe bien par
la suite ?



Voir plus haut.

Avatar
news.numericable.fr
Bonjour,

tu peux utiliser l'assistant d'importation texte, il te permettra de
memoriser le modèle que tu pourras ensuite utiliser
soit via une macro, soit en VBA

a+
" C15" a écrit dans le message de
news: 4747ea2b$0$21145$
Bonjour à tous et à toutes,

Je vais avoir à importer tous les mois un fichier Excel (données venant
elles-mêmes d'un gros système) ayant toujours la même structure, avec des
données de type texte, dates et numériques.

Lors de l'importation en tant que table dans Access il me faut
systématiquement redéfinir un certain nombre de propriétés (type de
données, taille...), ça, c'est normal (hélas).
Le mois suivant je vais avoir à faire la même chose, puis par une requête
ajout, rajouter ces derniers enregistrements dans la table du mois
précédent pour cumuler le tout, et ainsi de suite d'un mois à l'autre.

Sur un grand nombre de champs, c'est fastidieux et on peut se planter dans
une saisie de propriété, et donc bloquer le rajout d'enregistrements dans
une table déjà structurée.

J'ai peur de connaître votre réponse, mais je tente le coup, y-a-t-il un
moyen automatique d'appliquer aux nouveaux enregistrements des propriétés
déjà définies pour que le rajout dans la table "de cumul" se passe bien
par la suite ?

Merci de votre aide

A+

C15



Avatar
C15
Bonjour Michel D

Parce que j'ai par exemple certains champs date qui me sont ramenés en tant
que texte et que si je redéfinis toutes mes dates en type de données
date/heure (ce qui est quand même logique), cela va coincer.

Merci de ton aide

A+

C15


"Michel_D" a écrit dans le message de
news:
Bonjour à tous et à toutes,

Je vais avoir à importer tous les mois un fichier Excel (données venant
elles-mêmes d'un gros système) ayant toujours la même structure, avec des
données de type texte, dates et numériques.

Lors de l'importation en tant que table dans Access il me faut
systématiquement redéfinir un certain nombre de propriétés (type de
données, taille...), ça, c'est normal (hélas).
Le mois suivant je vais avoir à faire la même chose, puis par une requête
ajout, rajouter ces derniers enregistrements dans la table du mois
précédent pour cumuler le tout, et ainsi de suite d'un mois à l'autre.



Pourquoi ne pas importer directement dans ta Table du mois précédent ?


Sur un grand nombre de champs, c'est fastidieux et on peut se planter
dans une saisie de propriété, et donc bloquer le rajout d'enregistrements
dans une table déjà structurée.

J'ai peur de connaître votre réponse, mais je tente le coup, y-a-t-il un
moyen automatique d'appliquer aux nouveaux enregistrements des propriétés
déjà définies pour que le rajout dans la table "de cumul" se passe bien
par la suite ?



Voir plus haut.



Avatar
Michel_D
Bonjour Michel D

Parce que j'ai par exemple certains champs date qui me sont ramenés en tant
que texte et que si je redéfinis toutes mes dates en type de données
date/heure (ce qui est quand même logique), cela va coincer.


Moi je ferais en sorte que le fichier Excel corresponde au format requis pour
l'importation puisque en définitive tu es obligé de corriger par la suite
le résultat obtenu donc autant le faire avant.

Avatar
C15
Bonjour Michel,

Moi je veux bien, mais tous les essais que je fais montrent que les textes
sont importés avec une taille de 255 et que mes dates sont toujours
importées en tant que texte, ou est-ce que mon fichier Excel est pollué ?

Par ailleurs, est-il plus simple de corriger dans Excel ou dans Access,
sachant que les fichiers ont environ 40 colonnes et que c'est une opération
à faire tous les mois ?

Enfin quelque soit la solution, rien ne semble automatique ou automatisable.

Merci de ton aide

A+

C15



"Michel_D" a écrit dans le message de
news:
Bonjour Michel D

Parce que j'ai par exemple certains champs date qui me sont ramenés en
tant que texte et que si je redéfinis toutes mes dates en type de données
date/heure (ce qui est quand même logique), cela va coincer.


Moi je ferais en sorte que le fichier Excel corresponde au format requis
pour
l'importation puisque en définitive tu es obligé de corriger par la suite
le résultat obtenu donc autant le faire avant.



Avatar
Fabien
Bonjour,

tu peux utiliser l'assistant d'importation texte, il te permettra de
memoriser le modèle que tu pourras ensuite utiliser
soit via une macro, soit en VBA

a+
" C15" a écrit dans le message de
news: 4747ea2b$0$21145$
Bonjour à tous et à toutes,

Je vais avoir à importer tous les mois un fichier Excel (données venant
elles-mêmes d'un gros système) ayant toujours la même structure, avec des
données de type texte, dates et numériques.

Lors de l'importation en tant que table dans Access il me faut
systématiquement redéfinir un certain nombre de propriétés (type de
données, taille...), ça, c'est normal (hélas).
Le mois suivant je vais avoir à faire la même chose, puis par une requête
ajout, rajouter ces derniers enregistrements dans la table du mois
précédent pour cumuler le tout, et ainsi de suite d'un mois à l'autre.

Sur un grand nombre de champs, c'est fastidieux et on peut se planter dans
une saisie de propriété, et donc bloquer le rajout d'enregistrements dans
une table déjà structurée.

J'ai peur de connaître votre réponse, mais je tente le coup, y-a-t-il un
moyen automatique d'appliquer aux nouveaux enregistrements des propriétés
déjà définies pour que le rajout dans la table "de cumul" se passe bien
par la suite ?

Merci de votre aide

A+

C15




Bonjour,

et si ça ne fonctionne pas tu peux aussi 'attacher' ta feuille excel
dans access et utiliser une requete qui importe/transforme les champs
vers la table de destination..
@+


Avatar
Michel_D
" C15" a écrit dans le message de news:474998a4$0$21151$
Bonjour Michel,

Moi je veux bien, mais tous les essais que je fais montrent que les textes
sont importés avec une taille de 255 et que mes dates sont toujours
importées en tant que texte, ou est-ce que mon fichier Excel est pollué ?



Il faut convertir dans Excel tes cellules dates avec la fonction CDate.
(je le fais régulièrement sans aucun problème).


Par ailleurs, est-il plus simple de corriger dans Excel ou dans Access,
sachant que les fichiers ont environ 40 colonnes et que c'est une opération
à faire tous les mois ?



Ben je peux pas répondre à ta place.


Enfin quelque soit la solution, rien ne semble automatique ou automatisable.



Humm, il faudrait au moins essayer ...


Merci de ton aide


De rien.

Avatar
C15
Bonjour Michel,

Merci de cette info utile qui peut faire l'objet d'une macro.

A+

C15
"Michel_D" a écrit dans le message de
news: fiel6t$1qk$

" C15" a écrit dans le message de
news:474998a4$0$21151$
Bonjour Michel,

Moi je veux bien, mais tous les essais que je fais montrent que les
textes
sont importés avec une taille de 255 et que mes dates sont toujours
importées en tant que texte, ou est-ce que mon fichier Excel est pollué ?



Il faut convertir dans Excel tes cellules dates avec la fonction CDate.
(je le fais régulièrement sans aucun problème).


Par ailleurs, est-il plus simple de corriger dans Excel ou dans Access,
sachant que les fichiers ont environ 40 colonnes et que c'est une
opération
à faire tous les mois ?



Ben je peux pas répondre à ta place.


Enfin quelque soit la solution, rien ne semble automatique ou
automatisable.



Humm, il faudrait au moins essayer ...


Merci de ton aide


De rien.




Avatar
C15
Bonjour Fabien,

Tu es sûr que tu transforme les champs vers ta table destination ?

J'ai fait des essais avec des données "incohérentes" entre Excel et Access
(c'est à dire que j'ai des dates considérées comme du texte dans Excel suite
à l'importation depuis un gros système), j'ai des pertes en lignes.

Lorsque je fais ma requête ajout ces données ne sont pas ajoutées.

A+

C15
"Fabien" a écrit dans le message de news:
474a76aa$0$27382$
Bonjour,

tu peux utiliser l'assistant d'importation texte, il te permettra de
memoriser le modèle que tu pourras ensuite utiliser
soit via une macro, soit en VBA

a+
" C15" a écrit dans le message de
news: 4747ea2b$0$21145$
Bonjour à tous et à toutes,

Je vais avoir à importer tous les mois un fichier Excel (données venant
elles-mêmes d'un gros système) ayant toujours la même structure, avec
des données de type texte, dates et numériques.

Lors de l'importation en tant que table dans Access il me faut
systématiquement redéfinir un certain nombre de propriétés (type de
données, taille...), ça, c'est normal (hélas).
Le mois suivant je vais avoir à faire la même chose, puis par une
requête ajout, rajouter ces derniers enregistrements dans la table du
mois précédent pour cumuler le tout, et ainsi de suite d'un mois à
l'autre.

Sur un grand nombre de champs, c'est fastidieux et on peut se planter
dans une saisie de propriété, et donc bloquer le rajout
d'enregistrements dans une table déjà structurée.

J'ai peur de connaître votre réponse, mais je tente le coup, y-a-t-il un
moyen automatique d'appliquer aux nouveaux enregistrements des
propriétés déjà définies pour que le rajout dans la table "de cumul" se
passe bien par la suite ?

Merci de votre aide

A+

C15




Bonjour,

et si ça ne fonctionne pas tu peux aussi 'attacher' ta feuille excel dans
access et utiliser une requete qui importe/transforme les champs vers la
table de destination..
@+




Avatar
Fabien
Bonjour Fabien,

Tu es sûr que tu transforme les champs vers ta table destination ?

J'ai fait des essais avec des données "incohérentes" entre Excel et Access
(c'est à dire que j'ai des dates considérées comme du texte dans Excel suite
à l'importation depuis un gros système), j'ai des pertes en lignes.

Lorsque je fais ma requête ajout ces données ne sont pas ajoutées.

A+

C15
"Fabien" a écrit dans le message de news:
474a76aa$0$27382$
Bonjour,

tu peux utiliser l'assistant d'importation texte, il te permettra de
memoriser le modèle que tu pourras ensuite utiliser
soit via une macro, soit en VBA

a+
" C15" a écrit dans le message de
news: 4747ea2b$0$21145$
Bonjour à tous et à toutes,

Je vais avoir à importer tous les mois un fichier Excel (données venant
elles-mêmes d'un gros système) ayant toujours la même structure, avec
des données de type texte, dates et numériques.

Lors de l'importation en tant que table dans Access il me faut
systématiquement redéfinir un certain nombre de propriétés (type de
données, taille...), ça, c'est normal (hélas).
Le mois suivant je vais avoir à faire la même chose, puis par une
requête ajout, rajouter ces derniers enregistrements dans la table du
mois précédent pour cumuler le tout, et ainsi de suite d'un mois à
l'autre.

Sur un grand nombre de champs, c'est fastidieux et on peut se planter
dans une saisie de propriété, et donc bloquer le rajout
d'enregistrements dans une table déjà structurée.

J'ai peur de connaître votre réponse, mais je tente le coup, y-a-t-il un
moyen automatique d'appliquer aux nouveaux enregistrements des
propriétés déjà définies pour que le rajout dans la table "de cumul" se
passe bien par la suite ?

Merci de votre aide

A+

C15



Bonjour,

et si ça ne fonctionne pas tu peux aussi 'attacher' ta feuille excel dans
access et utiliser une requete qui importe/transforme les champs vers la
table de destination..
@+



Salut,

Lors de la requete tu peux 'forcer' la conversion d'un texte en date par
cdate(lavariable). Il faut que lavariable soit au format "jj/mm/aaaa".
@+




1 2