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 :

Importation automatique de données [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 23
    Points
    23
    Par défaut Importation automatique de données
    Bonjour,

    J'aimerais importer automatiquement et régulièrement les données de la feuille Indicateurs du fichier Excel dans ma table Indicateurs du fichier Access.

    En faisant cela, j'aimerais également que les données soient supprimées et remplacées par les nouvelles données du fichier Excel à chaque mise à jour et que dans le champ Mise à jour de la table Access, une date se mette automatiquement à chaque mise à jour de la base.

    Merci d'avance!

    Aline
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Le processus habituel pour faire cela est :
    1. Vider la table temporaire, juste pour etre sur qu'il ne traine rien.
    2. Importer les nouvelles donnees de Excel dans la table temporaire. Le passage par une table temporaire permet de s'assurer que les colonnes Excel sont chargee avec le bon type de donnees dans Access. Elle permet aussi une etape de netoyage si necessaire avant de faire le chargement reel.
    3. Reperer dans les nouvelles donnees celles qui sont deja dans la base.
    4. Supprimer les donnees deja dans la base
    5. Importer les nouvelles donnees.
    6. Vider la table temporaire.


    Tu peux faire cela avec un peu de VBA est quelques requetes.

    Pour importer les donnees du Excel regarde DoCmd.TransferSpreadSheet.

    En mettant =Now() comme valeur par defaut d'un champ DateTime dans ta table, Access va mettre automatiquement la date et l'heure de creation de l'enregstrement.

    A+

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 23
    Points
    23
    Par défaut
    Bonjour,

    J'ai réussi à faire ce que je voulais.

    Merci à pour votre aide.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 20
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    J'essaie de faire pareil que alineleleu, seulement je n'arrive pas a efffectuer les taches 3 et 4 (reperer et supprimer les donnees deja presentes dans la base).

    Si quelqu'un pouvait m'aider a ce sujet !

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 23
    Points
    23
    Par défaut
    Bonjour,

    Voici ce que j'avais fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Btn_Exporter_Click()
    DoCmd.SetWarnings False
    CurrentDb.Execute "Delete From Nom_de_ta_table"
    Application.DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Nom_de_ta_table", "Chemin_emplacement_fichier.xls", True, "Nom_de_la_feuille_dans_le_classeur_excel!"
    DoCmd.SetWarnings True
    End Sub

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 20
    Points : 20
    Points
    20
    Par défaut
    ah du coup tu supprimes carrement ta table, sans passer par une table temporaire ?
    Parce que le probleme c'est que ma table est liee a d'autres tables, je ne peux donc pas la supprimer !

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Points : 23
    Points
    23
    Par défaut
    Je supprime le contenu de la table et non la table. Et j'ai fait une requête "historique" que j'exporte et enregistre avant d'importer les nouvelles données, afin d'avoir un historique de mes données

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2014
    Messages : 20
    Points : 20
    Points
    20
    Par défaut
    Super !
    Merci beaucoup

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

Discussions similaires

  1. Importation automatique de données excel
    Par pat17 dans le forum VBA Access
    Réponses: 7
    Dernier message: 15/02/2012, 15h25
  2. alimenter une base de données en important automatiquement un fichier excel
    Par ApprentiDeveloppeur dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/04/2010, 07h58
  3. Import automatique données XML
    Par legros dans le forum Débuter
    Réponses: 1
    Dernier message: 05/08/2009, 19h08
  4. [XL-2003] Import automatique de données XLS
    Par denisw95 dans le forum Excel
    Réponses: 6
    Dernier message: 14/05/2009, 11h14
  5. importation automatique sur Access de données Excel
    Par lolipop65 dans le forum VBA Access
    Réponses: 12
    Dernier message: 26/08/2008, 16h03

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