Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/01/2012, 12h59   #1
Futur Membre du Club
 
Homme
Technicien Méthode
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Technicien Méthode

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 16
Points : 16
Par défaut Macro TransferSpreadsheet ne marche plus sous 2007

Bonjour à tous,
J'ai une macro d'import de fichier excel sous forme de table dans un Autoexec.
Mon code marche parfaitement sous 2003 mais plante sous 2007 !!
D'ou peut venir le problème à votre avis ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Public Function Import_Table1()
 
DoCmd.DeleteObject acTable, "Liste_des_opérations"
 
Dim strDbPath As String
Dim strDbFile As String
 
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
CurrentDbDir = Left(strDbPath, Len(strDbPath) - (Len(strDbFile) + 1))
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Liste_des_opérations", CurrentDbDir & "\Liste_des_opérations.XLS", True
 
End Function
Pour info la macro supprime d'abord la table en question, va chercher le fichier Excel "Liste_des_opérations.XLS" dans la dossier de la base et l'enregistre en table.

Merci par avance.
Cordialement.
Nikodemus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 13h05   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 952
Points : 30 952
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Plante message d'erreur ?

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 14h12   #3
Futur Membre du Club
 
Homme
Technicien Méthode
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Technicien Méthode

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 16
Points : 16
Oui un message d'erreur d'exécution de la macro Autoexec.
Mais la table est bien supprimée donc la macro doit planter au niveau du transfert de la feuille Excel.
Nikodemus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 14h14   #4
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 952
Points : 30 952
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Un test, mets l'instruction DoEvents avant le transfert pour voir.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 15h28   #5
Futur Membre du Club
 
Homme
Technicien Méthode
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Technicien Méthode

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 16
Points : 16
Le TransfertSpreadsheet fonctionne quand je met juste :

Code :
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Liste_des_opérations", "C:\Nouveau dossier\Liste_des_opérations.XLS", True
Le problème viens donc à ce niveau là :

Code :
1
2
3
strDbPath = CurrentDb.Name
strDbFile = Dir(strDbPath)
CurrentDbDir = Left(strDbPath, Len(strDbPath) - (Len(strDbFile) + 1))
Mais je n'arrive pas à savoir pourquoi ...

Sinon avez vous un autre code pour trouver le fichier Excel du même dossier que la base ?

Merci d'avance.
Nikodemus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 11h16   #6
Futur Membre du Club
 
Homme
Technicien Méthode
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Technicien Méthode

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 16
Points : 16
Résolu
Nikodemus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h12.


 
 
 
 
Partenaires

Hébergement Web