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 15/11/2011, 14h16   #1
Invité de passage
 
Inscription : février 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 8
Points : 3
Points : 3
Par défaut Enregistrement d'un fichier excel en CSV via access

Bonjour,

Pour automatiser des mises à jour d'une base access, je dois, en VBA, ouvrir un fichier excel, le modifier, puis l'enregistrer en CSV avant de l'importer dans la base.
Si l'ouverture et la modification se passent bien, je n'ai pas réussi à trouver la syntaxe me permettant de sauvegarder en CSV (pour des problèmes de données date excel à incorporer à des champs texte sous Access)

Si j'utilise un Saveas avec extension CSV, lors de l'importation, le fichier se comporte comme un xls, c'est à dire que les champs date passent en erreur

J'ai essayé de passer par un Activeworkbook.saveas, mais ne parviens pas à trouver une syntaxe acceptable

Ci-dessous mon code, avec les 3 essais faits (dont deux en commentaires)
Code :
1
2
3
4
5
6
7
8
9
10
11
       nomfichier = fd.SelectedItems(1)
        Set appexcel = CreateObject("Excel.Application")
        Set wbexcel = appexcel.Workbooks.Open(nomfichier)
        appexcel.Visible = True
        '   On efface les ligne du haut
        appexcel.ActiveSheet.Rows("1:6").Delete
        '   On sauve en CSV dans le répertoire TEMP
        wbexcel.ActiveWorkbook.SaveAs FileName:="C:\TEMP\Talentis.csv", FileFormat:=xlCSV, ' Cette ligne passe en erreur de compilation
'        DoCmd.TransferText acExportDelim, , T.Name, "C:\TEMP\Talentis.csv" & wbexcel & ".csv", True 'Cette ligne passe en erreur 424 objet requis        
'        wbexcel.SaveAs "C:\TEMP\Talentis.csv" ' Cette ligne ne donne pas un fichier importable (voir explication au dessus % champs date)
Donc, si quelqu'un avait une idée (sinon, je vais être obligé de charger mon fichier excel dans une table bidon, puis d'exporter cette table en CSV... pas super!)
twitzig est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h21.


 
 
 
 
Partenaires

Hébergement Web