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 :

liaison excel acces


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 138
    Points : 54
    Points
    54
    Par défaut liaison excel acces
    Bonjour à tous,

    Après avoir regarder la FAQ excel et vba, je vous sollicite car je n'ai pas trouver mon bonheur !

    J'aimerai tout simplement, importer une feuille excel dans une base access.

    Avez vous un exemple de code vba excel à me montrer ?

    Merci

    ps: je sais faire la méthode, fichier -> données externes -> lier les tables, mais je veux automatiser la liaision

    ps1: je veux pourvoir importer ma feuille excel depuis excel

    ps2 : on m'a conseiller de me renseigner ici plutot que dans le forum excel

  2. #2
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Bonjour,

    je suis surpris que tu n'aies pas trouvé ça dans la FAQ.

    L'aide d'Access sur TransferSpreadSheet t'en dira plus.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 138
    Points : 54
    Points
    54
    Par défaut
    j'ai vu ce sujet, mais moi je cherche à piloter access depuis excel, soit créer un programme vba excel qui m'importe ma feuille excel dans access.

  4. #4
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    J'ai eu une problématique similaire un jour. Je devais importer des données depuis Excel dans Access, mais selon un critère. Je m'en suis sorti en :
    - Créant une table liée dans ma db qui pointait vers mon Excel (de l'aide ici)
    - Requêtant ma table liée pour ajouter mes enregistrements dans une table de la db. Quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim db as Database
    Set db = OpenDatabase(lechemin)
    db.Execute larequete

  5. #5
    Membre régulier
    Profil pro
    Ingénieur Industrie
    Inscrit en
    Novembre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 104
    Points : 100
    Points
    100
    Par défaut
    Je ne comprend pas pourquoi tu doit faire ton importation depuis excel dans Access, la Logique des chose serai d'importer depuis Access une feuille d'un classeur Excel non? si tu doit mettre à jour ta base Access c'est que ton ficheir Excel contient des données nouvelles non?

    Un petit bouton sur ton formulaire qui te permet d'importer un fichier excel (qui te remplit une table)?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 138
    Points : 54
    Points
    54
    Par défaut
    je dois faire mon importation depuis excel car j'ai déjà créer des programmes sur ma base de données en faite.

    c'est pour çà que je souhaite importer ma feuille depuis excel

  7. #7
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Tu as plusieurs solutions.
    La premiere est d'utiliser ce qu'on te dit depuis le début...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Docmd.transfertSpreadsheet
    Mais, pour l'utiliser, puisque tu es dans l'application Excel, tu ne peux l'utiliser ainsi... C'est pourquoi l'aide t'aurait été utile... par exemple, tu aurais vu que DoCmd est un Singleton dans l'application Access.
    Sa syntaxe est donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UneApplicationAccess.DoCmd.TransfertSpreadSheet
    Pour pouvoir l'utiliser, tu dois donc commencer à créer un objet Application Access, depuis ton programme Excel.

    Tu pourrais donc commencer ton code par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'Définir une application
    Dim oAccApp as Object
    Set oAccApp = CreateObject("Access.Application")
    'Y ouvrir la base de données utile
    oAccApp.OpenCurrentDatabase("Mettre le Path ici",False)
    'Lancer le TransfertSpeadSheet
    oAccApp.Docmd.TransfertSpreadSheet .........
    Bien sûr, tu n'oublieras pas de Fermer la base, quitter l'application et réallouer l'espace mémoire en fin de programme, et ce malgré les erreur possibles, avec une belle gestion d'erreurs.


    Une autre solution, plus "propre", se serait de fair un Recordset sur ta base de données, et d'y envoyer tes données... à moins que tu aies plein de traitements à faire par la suite ...

Discussions similaires

  1. liaison Excel Access
    Par mat75019 dans le forum Access
    Réponses: 7
    Dernier message: 19/06/2006, 14h59
  2. [WebForms]Excell - Accès refusé
    Par REMACC1 dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 11/04/2006, 17h14
  3. Liaison Excel
    Par franckh99 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/02/2006, 11h08
  4. [VB]Excel - Accès à une cellule nommée
    Par andrew07 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/02/2006, 13h01
  5. Mise à jour des liaisons Excel.
    Par franckh99 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/12/2005, 11h51

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