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 :

Recherchev dans Excel vers Access [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 55
    Par défaut Recherchev dans Excel vers Access
    Bonjour,
    J'essaie d'adapter ce code à Excel 2010. J'ai bien coché la référence Microsoft Office 15.0 Access engine Object comme suggéré dans certains sites, mais ça ne fonctionne toujours pas. Je n'ai pas réussi à trouver d'autre information à ce sujet et je suis bloquée. Est-ce que quelqu'un a une idée?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function RecherchevAccess(ChampRecherche, valeurRecherche, champRetour, tbl, base)
        Dim bd As DAO.Database
        Dim rs As DAO.Recordset
     
     
        fichier = "F:" & "\" & base
        Set bd = DBEngine(0).OpenDatabase(fichier)
         Sql = "Select " & champRetour & " FROM " & tbl & " Where " & _
            ChampRecherche & "='" & valeurRecherche & "'"
        Set rs = bd.OpenRecordset(Sql)
        RecherchevAccess = rs(champRetour)
        rs.Close
        bd.Close
    End Function

  2. #2
    Invité
    Invité(e)
    Par défaut
    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
    Function RecherchevAccess(ChampRecherche, valeurRecherche, champRetour, tbl, base)
        Dim GenereCSTRING as string
        Dim rs
    dim Connexion
     Fichier = "F:" & "\" & base
    GenereCSTRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier & ";Persist Security Info=False"
      Set Connexion = CreateObject("ADODB.Connection")
     Connexion.Open GenereCSTRING
         Sql = "Select " & champRetour & " FROM " & tbl & " Where " & _
            ChampRecherche & "='" & valeurRecherche & "'"
        Set rs =   CreateObject("ADODB.Recordset")
     rs.Open Sql, Connexion, 1, 3
        if rs.eof=false then RecherchevAccess = rs(champRetour)
        rs.Close
        Connexion.Close
    End Function

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 55
    Par défaut
    Merci beaucoup de votre aide. Malheureusement, il doit y avoir encore quelque chose qui m'échappe parce que ça ne fonctionne pas sur mon ordinateur. J'ai placé la formule:

    =RecherchevAccess("Champ1","Test 2","Champ2","Table1","DatabaseTest.accdb")
    où le champ1 est le champs où je recherche la valeur Test2 et la valeur retournée est le champ2. C'est bien ce qu'il fallait faire?

    Aussi, l'icône d'Access sur mon ordinateur indique 2010, mais quand je crée une base de données Access, il indique entre parathèse 2007 dans la barre de titre, alors j'ai aussi essayé de changer la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GenereCSTRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier & ";Persist Security Info=False"
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GenereCSTRING = "Provider=Microsoft.Jet.OLEDB.12.0;Data Source=" & Fichier & ";Persist Security Info=False"
    mais ça n'a pas fonctionné.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Si tu peux ziper ton Excel et un Access en bidonnant les données!

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 55
    Par défaut
    Il semble que le format .accdb ne soit pas accepté, alors je n'ai pas pu mettre mon fichier Access, mais je t'envoie quand même mon fichier Excel et une image de ma table Access que j'utilise pour faire un test.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 55
    Par défaut
    Je viens de trouver mon erreur, il fallait que j'écrive la ligne comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GenereCSTRING = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Fichier & ";Persist Security Info=False"

    Donc que je remplace le Jet par ACE pour utiliser 12.0 au lieu 4.0.

    Merci encore. Je n'y serais pas arrivé sans votre aide.

  7. #7
    Invité
    Invité(e)
    Par défaut
    En réalité tu as trouvé notre erreur!

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

Discussions similaires

  1. [AC-2003] transfert excel vers access en utilisant du code vba dans access
    Par esisa1 dans le forum Access
    Réponses: 1
    Dernier message: 06/05/2010, 15h04
  2. Réponses: 3
    Dernier message: 13/03/2010, 22h37
  3. Récupérer une sheets dans excel vers access sous vba
    Par odbee dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/10/2005, 00h30
  4. Problème champ après import d'excel vers access
    Par David M dans le forum Access
    Réponses: 6
    Dernier message: 16/10/2005, 11h53
  5. Réponses: 6
    Dernier message: 19/09/2005, 12h55

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