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 :

Comment transférer des données qui sont dans excel vers des tables Access


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 31
    Par défaut Comment transférer des données qui sont dans excel vers des tables Access
    Bonjour,

    je souhaite transférer des données qui se trouvent dans des tables Excel vers des tables Acess en VBA.

    J'ai consulté plusieurs forums en faisant des recherches dans google et je ne trouve que des informations qui datent de plusieurs années. J'utilise Windows10 et office 2007. Je n'arrive pas à trouver quelles sont les librairies à charger (et comment) pour cette manip. ADO? quand j'utilise le provider Microsoft.jet.OLEDB.4.0, j'ai un message qui m'indique qu'il ne reconnait pas le format de la base de données. j'ai vu dans ce forum un autre provider Microsoft.ACE.OLEDB.12.0, mais là j'ai un message "l'opération demandée n'est pas autorisée dans ce contecte" Je n'arrive pas à trouver un tuto, un article ou un livre qui traiterait de ce problème.

    Si quelqu'un peut me recommander ou je peux trouver ces infos. J'apprécierai beaucoup

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Dans l'exemple que je t'ai posté plus haut tu n'as pas besoin de références.

    Maintenant tu as 2 solution! Soit tu balais ta feuille Excel et tu génère a la volé ta chaine Sql! Ou tu enregistres ton fichier Excel et tu fais un jointure externe sur ton onglet Excel dans ta requête Sql!

    Identifies ton choix et je pourrais te guider.

  3. #3
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 31
    Par défaut
    Merci Dysorthographie,

    Je souhaite écrire moi même les requêtes à l'aide d'un bouton de commande et d'un code en vba. D'un coté pour enrichir la base et ensuite par différentes requetes recréer de nouveaux fichiers EXCEL. Aujourd'hui toutes mes données sont sur Excel, mais je voudrais évaluer le passage ultérieur sur Access

    Je vais tester le code que tu as fourni a Pemeco

    Cordialement

  4. #4
    Invité
    Invité(e)
    Par défaut
    Et bien c'est parfait, j'envisageais de te mettre sur la voie, pas faire le travail à ta place.

    Mais pour la technique on aborde des sujets qui s'invente pas et avoir quelque exemple c'est pas du luxe.

    Si tu enregistre t'on fichier Excel tu peux avec 3 requête (ajoute, modifications et suppression) gère ta synchronisation!

    Alors quand Balayant tes onglets tu dois en vérifier l'existence pour pouvoir les ajouter, les modifier et refaire une passe dans l'autre sens pour la suppression.


    Le mieux à mon avis serait de travailler directement sur Access (formulaire dans Excel et des requête Sql vers Access) et in porter ensuite dans Excel!

  5. #5
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 31
    Par défaut
    Bonsoir,

    J'ai utilisé ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton2_Click()
    Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
    Dim requête, NOM, Prénom
     
    With CreateObject("ADODB.Connection")
           .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\données\PERSO\Gérard\SGCB\BDD\SGCB1.accdb;"
           Set requête = .Execute("select * from Membres where NOM='BOP'") ' Requête de sélection
         .Close
    End With
    Ensuite je voudrais écrire les résultats dans une cellule Excel.

    Je pense que j'ai mal ou pas déclaré le nom des champs.

    Car quand j'essaye NOM.value. J'ai une erreur d'exécution '424'

    comment je peux récupéré ces données?

    Merci de ton aide
    Cordialement

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set requête = .Execute("select * from Membres where NOM='BOP'") ' Requête de sélection
    If requête.eof=False then 'si je ne suis pas à la fin de la requête 
      [A1]=requête("NOM").value ' requête (nom du champ) valeur sera stocké da le cellule A1
    End if

Discussions similaires

  1. Réponses: 15
    Dernier message: 30/11/2016, 18h47
  2. Réponses: 2
    Dernier message: 10/11/2013, 21h00
  3. Réponses: 3
    Dernier message: 07/04/2010, 18h27
  4. importer des image qui sont dans excel dans une table SQL2005
    Par johanaquatique dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 31/08/2009, 18h13
  5. Copier des données d'un fichier Excel vers des tableau Word
    Par drthodt dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/05/2008, 14h57

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