Bonjour,

Je fais appel à vous car j'ai un problème avec des tables attachées (par vba) sur des fichiers Excel, et pour lesquelles la dernière ligne n'est pas prise en compte.

Le but est d'importer dans Access (dans une vraie table) des fichiers XL.
Pour cela, j'ai une procédure qui crée une table attachée sur le fichier XL, puis exécute une requete 'insert into' entre la table attachée et la table Access.
La mécanique fonctionne très bien, mais j'ai un problème au niveau du nombre de lignes récupérées.

Ce n'est pas systématique, mais régulièrement, la dernière ligne du fichier XL n'est pas récupérée dans la table Access.
Le seul contournement que j'ai trouvé pour le moment, c'est au préalable, d'ouvrir le fichier XL, aller à la fin, faire quelques 'Entrée' et sauvegarder le fichier (quitter simplement ne propose pas de sauvegarder, car XL ne détecte pas de changement).
Ensuite l'import se passe bien, et j'ai toutes mes lignes.

Je n'ai aucune piste concernant ce problème (qui survient aussi avec la version 2003).
La procédure n'a pas d'intérêt ici, mais voici le code que j'utilise pour attacher le fichier XL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
'table attachée
Set oAttach = oDB.CreateTableDef(sTable)
oAttach.Connect = "Excel 12.0;DATABASE=" & FichierXL & ";HDR=YES;IMEX=2;"
oAttach.SourceTableName = sXLSheet & "$"
On Error GoTo ErrFin
oDB.TableDefs.Append oAttach 'TODO : vérifier que la table n'existe pas
On Error GoTo 0
Merci de votre aide.
Philippe