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

Macros et VBA Excel Discussion :

Exporter données Excel vers nouvelle table Access [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut Exporter données Excel vers nouvelle table Access
    Salut a tous

    J'ai un fichier .xls qui par des macro regroupe plusieurs fichier .xls.

    A la fin de l'exécution des macros, j'aimerais envoyer les enregistrement du fichier .xls vers une nouvelle table sur une BDD Access déjà existante avec un nom spécifique : "Presses".

    Toutefois, une table "Presses" existe déjà dans la BDD donc je voudrais que celle ci soit renommer "Presses n-1".

    Malheureusement je ne sais pas comment faire.

    De plus, je voudrais qu'une boite de dialogue s'ouvre si la BDD et déjà ouverte afin de faire le nécéssaire pour la fermer auprès des différents utilisateurs.

    Merci de votre aide


    .

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Slt,
    je peux pas beaucoup t'aider sur ce sujet, mais peux être que ceci te mettras un peu sur la voie, http://excel.developpez.com/faq/?page=Access
    bon courage
    @+

  3. #3
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Merci rvtoulon

    Mais par rapport au lien que tu m'as donnée, il y a juste comment faire une nouvelle table dans une nouvelle BDD.

    Mais je vais voir si j'ai moyen de faire quelque chose avec

  4. #4
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Slt, FCL31
    En me servant du lien que j'ai mis et en faisant quelques recherches voici une adaption d'un code du tutos qui permet par de créer une table par une requete SQL et d'insérer des données par une autre requete.

    ce code ne réponds pas à toutes tes attentes mais il t'ouvre une piste sur ce que tu pourrais faire.

    A partir d'un bouton de commande sur ma feuille excel ou se trouve le tableau, les données que je veux copier se trouve à partir de la deuxième ligne.
    Ici je me connecte à ma base, je créer une table qui va s'appeller Table2 et qui auras deux colonnes, une nom et une prenom. La colonne nom sera la clé primaire de ma table.
    ensuite je boucle sur le tableau de ma feuille excel , et met les valeurs que je veux copier dans une requete sql d'insertion
    je ferme la connection et c fini. voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub connect_base_access()
    Dim Db As DAO.Database
    Dim strSQL As String
    Dim derlign As Long, i As Long
     
    'connexion à la base
    Set Db = DAO.OpenDatabase("C:\Base test.mdb", False, False)
     
    'requête création table qui aura pour nom Table2
    'et qui aura une colonne  nom qui contiendra du texte et sera la clé primaire
    'de la table
    'et une colonne prenom qui contiendra du texte
    strSQL = "CREATE TABLE Table2 (nom VARCHAR(30)PRIMARY KEY,prenom VARCHAR (30))"
     
    'exécution de la requête
    Db.Execute strSQL
     
    'requête insertion données dans table
    'recherche de la dernière ligne pleine de ma feuille
    derlign = Cells.Find("*", , , , , xlPrevious).Row
     
    'boucle de la ligne 2 jusque la derniere ligne
    For i = 2 To derlign
    strSQL = "INSERT INTO Table2 VALUES ('" & Range("A" & i) & "', '" & Range("B" & i) & "')"
    Db.Execute strSQL
    Next i
     
    'deconnexion de la base
    Db.Close
     
    End Sub
    voila une piste, bon travail pour le reste.

    @+

    EDIT: j'ai oublié une chose importante, il faut activer la référence à : Microsoft DAO x.x Object Library
    Dans l'éditeur vba => Outils => Références ...

  5. #5
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Merci rvtoulon

    Se n'a pas l'air mal

    J'ai tester comme tu me la donner : pas de problème

    Pa contre, j'ai voulu l'adapter à mon utilisation et la : problème

    Voici le code que j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "CREATE TABLE Presse (" & Range("A1").Value & " VARCHAR(30)," & Range("B1").Value & "  VARCHAR(30)," & Range("C1").Value & " VARCHAR(30)," & Range("D1").Value & " VARCHAR(30)," & Range("E1").Value & " VARCHAR(30)," & Range("F1").Value & " VARCHAR(30)," & Range("G1").Value & " VARCHAR(30)," & Range("H1").Value & " VARCHAR(30)," & Range("I1").Value & " VARCHAR(30)," & Range("J1").Value & " VARCHAR(30)," & Range("K1").Value & " VARCHAR(30)," & Range("L1").Value & " VARCHAR(30)," & Range("M1").Value & " VARCHAR(30)," & Range("N1").Value & " VARCHAR(30)," & Range("O1").Value & " VARCHAR(30)," & Range("P1").Value & " VARCHAR(30)," & Range("Q1").Value & " VARCHAR(30)," & Range("R1").Value & " VARCHAR(30)," & Range("S1").Value & " VARCHAR(30)," & Range("T1").Value & " VARCHAR(30)," & Range("U1").Value & " VARCHAR(30)," & Range("V1").Value & " VARCHAR(30))"
    Sa me dit :
    Erreur de syntaxe dans la définition de champ


    a cet endroit :Mais je ne vois pas où j'aurais fais une erreur

  6. #6
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Re,
    je ne suis pas sur tu as écrits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "CREATE TABLE Presse (" & Range("A1").Value & " VARCHAR(30)
    en mettant " & Range ("A1") & ".
    il faudrait mettre comme ceci au lieu de " & toto & " mettre '" & toto & "' (manque les apostrophes).
    donc dans ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "CREATE TABLE Presse ('" & Range("A1").Value & "' VARCHAR(30) etc....
    @+

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

Discussions similaires

  1. [XL-2010] Export données Excel vers table Microsoft Sql Server
    Par Lucas G dans le forum Excel
    Réponses: 1
    Dernier message: 17/08/2013, 13h18
  2. exporter une feuille excel vers une table access
    Par sanfour_walhan dans le forum VB.NET
    Réponses: 8
    Dernier message: 01/06/2011, 03h01
  3. Export donnée Excel vers Access
    Par roidurif dans le forum VBA Access
    Réponses: 9
    Dernier message: 25/06/2009, 12h33
  4. Import de Données Excel dans une Table Access
    Par YLF dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2006, 19h02
  5. Insérer des données Excel dans une table ACCESS
    Par anikeh dans le forum Access
    Réponses: 4
    Dernier message: 21/12/2005, 22h42

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