Import d'un fichier excel

Skwi

XLDnaute Nouveau
Sous ce titre qui peut parraitre assez simple se cache une question un peu plus complexe :
J'ai un fichier excel contenant mes données, rangées en colonnes selon ma base access.
Ma base access contient les noms des champs (qui se retrouvent également à la ligne 1 du fichier excel) avec les types associés que je souhaite.
Lors de l'import je dois faire face à plusieurs problèmes :
1) Certains champs sont vides, notamment des dates, lors de l'import il convertit bien les dates renseignées en date, mais m'enregistre également une erreur de conversion des dates inexistantes.
A la limite ce problème est juste gênant car il me créé une nouvelle table contenant les erreurs, j'ai juste à ne pas en tenir compte. Mais si vous avez une solution je suis preneur.

2) Excel ne semble pas connaitre le type booléen; J'ai une colonne contenant les valeurs Oui/Non, lors de l'importation ACCESS ne me met pas d'erreur mais met tous les champs à faux. J'ai essayé de remplacer les Oui/Non par VRAI/FAUX -1/0 1/0 mais à chaque fois j'obtiens que des cases décochées sous ACCESS.
J'ai testé la manip inverse, renseigner dans ACCESS puis exporter, j'obtiens bien un fichier excel avec des VRAI lorsque la case est cochée dans ACCESS et des FAUX sinon. Lorsque je regarde la propriété de la cellule il n'y a rien de particulier, et si je copie colle une case vrai sur une case faux, que j'enregistre et que je ré-importe dans ACCESS, les nouvelles cases VRAI restent décochées, mais les anciennes cases VRAI restent cochées.

Une solution envisageable mais super crade serait de garder le type Texte (codé sur 8 bits) à la place de convertir en booléen (1 bit), ce qui fait une grande perte en terme d'optimisation.

Donc voila, je ne comprends pas d'où vient le problème, je vais continuer de faire des tests et vous tiens informé si je trouve la solution.

Merci,
Skwi

Edit :
Bon j'ai refais des tests et je devais être fatigué hier soir, je ne vois pas d'autres alternatives.
Pour la 2) le solution que j'ai trouvé c'est : convertir tous les Oui (de mon fichier excel) en VRAI et tous les Non en FAUX, si j'ajoute ça dans une table déjà crée avec le type booléen, ça me coche les cases où la valeur est VRAI, si la table est inexistante ça me met -1 pour VRAI et 0 pour FAUX, toujours de type booléen, et c'est ce que je voulais.

Par contre il essaye toujours de convertir un champ vide en date dans ma colonne contenant des dates.
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Import d'un fichier excel

Bonjour Skwi,

J'ai essayé d'importer des dates pas toujours renseignées d'un fichier Excel dans une table Access sans erreur
Je vois 2 possibilités aux erreurs : soit le champ date de la table Access doit forcément être renseigne (Null Interdit : Oui), soit tes vides dans tes dates Excel ne sont pas des vrais vides (espaces ?)
 

Skwi

XLDnaute Nouveau
Re : Import d'un fichier excel

Bonjour à tous,

J'ai réussi à avoir ce que je voulais en procédant ainsi :
- Pour mes champs de type booléen, je remplace Oui/Non par True/False et lors de l'import ça renseigne bien mon champ dans ACCESS en tant que booléen.
J'ai l'impression que le "moteur" d'ACCESS est en Anglais sur mon poste, bien que l'interface soit en français ("not responding" quand il plante). Et j'ai l'impression que c'est la raison pour laquelle il ne reconnaissait pas le vrai/faux (qu'il reconnait sur un autre poste).

-Pour mes dates (et autres champs qui "buggaient") c'était le type dans excel qui était faux (comme ce qui a été dit , date en format texte). Je modifie donc tous mes types dans excel avant d'importer, et tout se passe bien.

Merci quand même pour votre aide.
Skwi

Edit :
Pour les champs booléens ça ne marche pas à tous les coups ce que j'ai fais. Pour que ça fonctionne il faut que j'importe le fichier qui contient True/False et qu’ensuite je change le type de champ dans ACCESS. Si j'ai déjà une table avec un champ booléen et que j'importe dans cette table ça ne fonctionne pas et met tout à "faux" ...
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Import d'un fichier excel

Bonjour Skwi, Bonjour chris ;)

Merci quand même pour votre aide.

Merci à chris qui t'avais indiqué cette possibilité, pourquoi "quand même" ?

Pour intégrer des données dans des champs booléens, tu peux peut-être essayer de mettre -1 pour vrai et 0 pour faux avant d'importer, pas testé mais ce sont les valeurs gérées par Access pour ces 2 données.
 

Discussions similaires

Statistiques des forums

Discussions
311 741
Messages
2 082 055
Membres
101 882
dernier inscrit
XaK_