IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Traitement de fichiers CSV avec Access


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Traitement de fichiers CSV avec Access
    Bonjour a tous,

    Je suis étudiant et je cherche une solution pour Traiter un fichier csv avec Access et le code VBA. Car pour mon projet je dois rapatrier un fichier csv sous access et le traiter de facon a enregistrer les données dans la base de données.
    Si quelqu'un pouvais m'aider et me dire comment faire ca serai super.

    Merci d'avance.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 172
    Points : 25 112
    Points
    25 112
    Par défaut
    vraiment super explicite ton titre !!!
    les csv, c'est facile à coder pour les ouvrir "manuellement" en .net

    après pour remettre ca en base de données, y a des tutos qui expliquent comment s'y connecter


    m'enfin avec un peu de chance, y a deja un menu dans access pour importer des données d'un csv (sql server le fait en tout cas)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour Seb68,

    Comme le dit sperot51 (bonjour) Access te propose une commande qui réalise très bien les imports csv.

    Fichier .... Données externes ...
    Sélectionne Type de fichiers : fichiers texte (*.txt;*.csv...) puis choisis ton fichier.

    A+
    Gabout

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ben merci
    Pour ce qui est du fichier CSV j'ai du mal m'expliquer. Je cherche une solution programmable pour l'importer dans la base de donner. En clair j'ai un bouton enregistrer qui va ouvrir une boite de dialogue qui permettra de choisir le fichier csv a importer puis on traitera directement avec le code le fichier csv. mais avc le bouton l fronction en VBA docmd.TransferText marche pas.
    Et donc je cherche une solution ou du code qui me montre comme ouvir le fichier et travailler dessus. ou alors crée un table en dynamique en fonction du fichier que l'on recoit et qui serai l'image du fichier que l'on importe.
    merci de votre aide.

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 172
    Points : 25 112
    Points
    25 112
    Par défaut
    m'enfin pour ouvrir un fichier ca se passe dans system.io
    filestream peut etre
    tu peux récupérer le contenu as string en quelques lignes, tu utilises ensuite split avec ; pour avoir les valeurs des différentes colonnes

    et après y a plus qu'à faire rentrer ca dans access
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759

  7. #7
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour a tous merci de m'avoir répondu.
    LedZeppII je suis aller voir ton lien j'ai trouver un truc simpa qui est de faire chier donner extern importer. cela marche.
    Mais moi ce que je dévellope c'est un soft la donc après cela j'ai plus accès. donc j'ai voulut faire avec la méthode DoCmd.transfertText mais marche pas et je comprend pas pourquoi qui peut m'aider voir même me donner un bout de code.merci.

  8. #8
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 898
    Points : 4 787
    Points
    4 787
    Par défaut
    j'ai trouver un truc simpa qui est de faire chier ...
    je ne trouve pas ce truc, enfin cette expression aussi sympah !
    "Always look at the bright side of life." Monty Python.

  9. #9
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Je t'ai dirigé vers ce lien car il explique comment créer des spécifications d'importation.
    Le CSV n'est pas un format au standard bien défini.
    C'est juste un fichier texte avec délimiteur.
    Malheureusement le délimiteur peut varier (virgule, point-virgule, tabulation) et Access comme Excel s'appuient sur la base de registre pour déterminer le délimiteur.
    Autre problème : les nombres et les dates. La encore Access ou Excel vont consulter la base de registre pour lire les paramètres régionaux afin déterminer le symbole décimal, le symbole des milliers, le séparateur de date.
    Si ces différents paramètres dans le fichier à importer sont en phase avec ceux de l'ordinateur l'importation se passe bien.
    Sinon ça ne fonctionne pas.

    En créant des spécifications d'importation tu peux "dire" à TransferText quel est le délimiteur à utiliser ainsi que les paramètres relatifs aux nombres et au dates.
    Tu peux en plus forcer le format des champs à importer.
    Ces spécifications d'importation se créent à l'aide de l'assistant d'importation, comme expliqué dans le lien.

    Dans cet exemple on importe le fichier C:\Data.csv dans MaTable en se servant de la spécification d'importation SpecImpMaTable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferText acImportDelim, "SpecImpMaTable", "MaTable", "C:\Data.csv"
    A+

  10. #10
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut à tous,

    tu peux aussi créer ton fichier de spécification d'import/export manuellement avec un éditeur.
    je te renvoie sur cette discution.

  11. #11
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci a tous pour vos réponse et merci LedZeppII ce que tu ma donner marche super bien plus aucun soucis. parcontre le fichier que tu crée spécifications d'importation et que tu enregistre ca il l'enregistre ou ces paramètre. car si ma base change de PC est ce que ces spécifications d'importation seront toujours valable dans la base et il vera le nom que j'ai donner ou pas dans la fonction DoCmd.TransferText?

    Merci de ton aide.

    Bonne journée a tous.

  12. #12
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Les spécifications d'importations sont enregistrées dans la base de données.
    Elles ne sont donc visibles que depuis la base de données dans laquelle on les a créées.
    Les données sont enregistrées dans deux tables système :
    Les deux tables sont liées par le champ SpecID.
    Si tu distribue des copies de ta base, les copies auront les spécifications d'importation que tu aura créé.

    A+

  13. #13
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse LedZeppII ca ma bien aider la. et grace a vos réponse j'ai réussi a importer le fichier csv merci bien. pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Traitement fichier .csv avec valeurs manquantes
    Par Jah73 dans le forum VB.NET
    Réponses: 3
    Dernier message: 28/01/2014, 16h19
  2. Réponses: 1
    Dernier message: 09/05/2012, 16h41
  3. [access 2003] Supprimer un fichier .csv avec du code VBA
    Par Milyshyn76 dans le forum VBA Access
    Réponses: 6
    Dernier message: 18/02/2008, 16h42
  4. Charger un Fichier CSV avec traitement
    Par Iphelias dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 06/08/2007, 13h53
  5. Comment lancer un fichier Excel avec Access ??
    Par merlubreizh dans le forum Access
    Réponses: 5
    Dernier message: 12/09/2005, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo