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 :

Precisions sur la fonction recherchevAccess (Lune1)


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
    BI
    Inscrit en
    Mars 2019
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI

    Informations forums :
    Inscription : Mars 2019
    Messages : 30
    Par défaut Precisions sur la fonction recherchevAccess (Lune1)
    Bonjour le forum,

    Je cherche à utiliser la fonction de Lune1 de ce sujet https://www.developpez.net/forums/d1...excel-requete/ mais je n'y arrive pas.

    Je dois bien renseigner comme ça ?

    ChampRecherche : Le nom du champ à lier dans ma requête Access.
    ValeurRecherche : La valeur que doit avoir le ChampRecherche dans Access
    ChampRetour : Le champ dont la valeur doit être retourné par Access.
    Tbl : Nom de la requete de la base Access
    Base : Adresse de la base sans le lecteur.

    Non ?

    J'ai essayé des variantes mais je n'y arrive pas.

    Quelqu'un aurait il quelques instants pour m'aider ?

    Merci 1K d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    il faut remettre dans le contexte!

    https://www.developpez.net/forums/d1...s/#post8210814

    Code Formule Excel : Sélectionner tout - Visualiser dans une fenêtre à part
    = RecherchevAccess("cp"; "75013"; "Addition";"MaRequête";base)
    1. Connexion il faut déclarer un variable objet en public!
    2. If TypeName(Connexion) = "Nothing" Then si l'objet Connexion n'existe pas
    3. If Connexion.State = 0 Then si la connexion n'est pas établis
    4. Fichier = "F: " & "\" & base on affect le chenin complet a la base
    5. Sql = "Select " & champRetour & " FROM " & tbl & " Where " & ChampRecherche & "='" & valeurRecherche & "'" je sélectionnes le champ à retourner[champRetour ] de la table ou la requête [tbl] filtré sur un texte [ChampRecherche]=[']valeurRecherche[']



    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
    Public Connexion As Object
    Function RecherchevAccess(ChampRecherche, valeurRecherche, champRetour, tbl, base)
        Dim GenereCSTRING As String
        Dim RS
    If TypeName(Connexion) = "Nothing" Then Set Connexion = CreateObject("Adodb.Connection")
     
    If Connexion.State = 0 Then
         Fichier = "F: " & "\" & base
         GenereCSTRING = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Fichier & ";"
         Connexion.Open GenereCSTRING
    End If
     
         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
     End Function
    Dernière modification par Invité ; 14/05/2019 à 16h26.

  3. #3
    Membre averti
    Homme Profil pro
    BI
    Inscrit en
    Mars 2019
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI

    Informations forums :
    Inscription : Mars 2019
    Messages : 30
    Par défaut
    Bonjour dysorthographie,

    Merci beaucoup pour ton aide, je n'avais pas trouvé l'autre fil de discussion sur le même sujet.

    Bon j'ai essayé le code envoyé mais ça ne marche toujours pas. Il me retourne un #valeur.

    En plaçant des Msgbox j'ai pu vérifier que connexion.state =0 et que GenereCSTRING =
    Nom : Capture.PNG
Affichages : 203
Taille : 4,7 Ko

    Dans ma formule Excel j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RecherchevAccess("Key";$AX$3&BP9;"t_pric";"RQ_PricesByCustomers";"Users\xxxxx\Desktop\NEW QUOT SYSTEM\Master.accdb")
    -Le "key" est bien le nom du champ Access sur lequel je veux sélectionner mes data.

    -Le "$AX$3&BP9" est bien la valeur que je souhaite trouver sur Access (jai essayé aussi en copiant/collant la valeur depuis Access pour être certain que le problème ne vienne pas de là).

    -"t_pric" est bien le champ d'access que je veux retrouver dans excel.

    -"RQ_PricesByCustomers" est bien la requête dans laquelle il y a ces infos.

    -"Users\xxxxx\Desktop\NEW QUOT SYSTEM\Master.accdb" est bien le chemin d'acces de mon fichier (J'ai juste remplacé F par C dans le code).

    Peut être que je dois activer des "Références" pour faire marcher cette fonction ?

    Toute aide m'est très précieuse.

    Merci beaucoup d'avance

  4. #4
    Membre averti
    Homme Profil pro
    BI
    Inscrit en
    Mars 2019
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI

    Informations forums :
    Inscription : Mars 2019
    Messages : 30
    Par défaut
    CA MARCHE !

    En fouillant dans le sujet que tu joins dans ta réponse j'ai vu qu'il y avait un ";Persist Security Info=False"

    Je l'ai rajouté et ça marche.

    vraiment merci beaucoup pour ton aide dysorthographie !

  5. #5
    Membre averti
    Homme Profil pro
    BI
    Inscrit en
    Mars 2019
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI

    Informations forums :
    Inscription : Mars 2019
    Messages : 30
    Par défaut
    ...En local c'est super mais je voudrais également que la feuille excel puisse choper des data de la base quand tout ce petit monde se retrouve sur Sharepoint

    J'ai essayé en mettant l'adresse sharepoint de ma base mais ça ne marche pas. Il s’arrête à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Set Connexion = CreateObject("ADODB.Connection")
     Connexion.Open GenereCSTRING
    Si qqu a une idée je suis preneur.

    Merci

Discussions similaires

  1. doc sur les fonctions
    Par masterfab dans le forum C
    Réponses: 18
    Dernier message: 23/06/2005, 17h55
  2. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00
  3. precision sur le pilotage du port parallele
    Par fransouik dans le forum C++Builder
    Réponses: 18
    Dernier message: 26/02/2004, 13h28
  4. [VBA-E]Demande de précision sur les menus
    Par geffdenimes dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/06/2003, 10h46
  5. PerlDoc sur une fonction d'un module
    Par lesouriciergris dans le forum Modules
    Réponses: 2
    Dernier message: 13/03/2003, 20h50

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