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 :

Liste déroulante avec "Recordset" récupérer des données sur access


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Points : 3
    Points
    3
    Par défaut Liste déroulante avec "Recordset" récupérer des données sur access
    Bonjour
    Je suis bloqué dans un projet de VBA sur Excel, et j'aurais besoin de votre aide svp
    En faîte je dois faire une liste déroulante à partir d'une base de données sur Access pour remplir un formulaire par exemple:
    comme par exemple le champs de ville dans un formulaire, en rentre par exemple un "T" sur la case et ça nous met une liste déroulante avec des villes qui commence par T , "Toulon , Toulouse , Toulouge, Tour ...." et la liste est plus précise plus en rentre de lettres, si on met "Toul"
    Voilà j’espère que j'ai bien posé mon problème et que vous allez pouvoir m'aider
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Tu parle d’enrichir une liste déroulante, en fonction d’un recordeset !
    Quand est-il de la requête, tu es capable de générer la chaîne SQL avec tes critères
    where ville like ‘T%’ ou pas ; sais tu te connecter à la base ?? Donnes des précisions sur ton avancement.

  3. #3
    Membre actif Avatar de Denis la Malice
    Homme Profil pro
    FabManager
    Inscrit en
    Février 2013
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : FabManager
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2013
    Messages : 133
    Points : 287
    Points
    287
    Par défaut Au plus simple
    Bonjour,
    dans ton formulaire, tu crée un ComboBox avec les propriétés suivantes :
    MatchEntry : fmMatchEntryComplete
    MatchRequired : True
    TextColumn : le numéro de la colonne qui contient la ville

    Tu remplis ta ComboBox avec ta méthode préférée (par exemple CopyFromRecordSet ou AddItem ou RowSource) et le reste marche tout seul.

    Quand tu tapes T il affiche la première ville qui commence par T :
    TARASCON
    Quand tu tapes la deuxième lettre il affiche la première ville qui commence par ces 2 lettres :
    TORCY
    Etc ...
    TOULOUSE
    De la réflexion, naît l'action ...

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses
    Le problème que j'ai c'est l'utilisation de RowSource sur vba excel qui vas récupérer un tableau sur access

  5. #5
    Membre actif Avatar de Denis la Malice
    Homme Profil pro
    FabManager
    Inscrit en
    Février 2013
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : FabManager
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2013
    Messages : 133
    Points : 287
    Points
    287
    Par défaut Quel est le problème ?
    Où est la difficulté ? Qu'est-ce qui t'arrête ?

    Soit tu utilises un RowSource avec le nom d'un tableau qui correspond à un Query sur une feuille (requête Select fixe).

    Soit tu utilises un Recordset avec une méthode DAO ou ADO pour prendre en compte des requêtes plus évoluées.

    Le plus simple, c'est d'utiliser l'assistant de création de requête Query et de nommer ton tableau. Utilise le RowSource et tu n'auras presque rien à développer. Ça marche tout seul.
    De la réflexion, naît l'action ...

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Bah le soucis c'est que j'arrive pas a utiliser Rowsource pour récupérer les données d'access
    Le souci c'est comment utiliser rowsource sur excel avec un code sql
    voila :s

  7. #7
    Membre actif Avatar de Denis la Malice
    Homme Profil pro
    FabManager
    Inscrit en
    Février 2013
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : FabManager
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2013
    Messages : 133
    Points : 287
    Points
    287
    Par défaut Alimenter un combobox depuis une requête Access
    Données --> Depuis Access
    Choisir le fichier Access
    Sélectionner le tableau
    Méthode d'affichage : tableau
    Insérer les données dans : Nouvelle feuille de calcul

    Formules --> Gestionnaire de noms
    Changer le nom du tableau s'il n'est pas explicite ou s'il est trop compliqué : par exemple "MonTableau"

    Dans les propriétés du ComboBox mettre =Montableau dans RowSource
    De la réflexion, naît l'action ...

  8. #8
    Membre régulier
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 56
    Points : 88
    Points
    88
    Par défaut
    Bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub UserForm_Initialize()
      'Microsoft Data Object 2.8 doit être coché
        repertoire = ThisWorkbook.Path & "\"
        Set cnn = New ADODB.Connection
        cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & repertoire & "Access2000.mdb"
        Set rs = cnn.Execute("SELECT nom_client FROM client Order By nom_client")
        Me.ComboBox1.List = Application.Transpose(rs.GetRows)
        rs.Close
        cnn.Close
        Set rs = Nothing
        Set cnn = Nothing
    End Sub
    Ceuzin

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/11/2014, 16h20
  2. Réponses: 13
    Dernier message: 12/11/2014, 13h47
  3. Réponses: 25
    Dernier message: 11/05/2012, 15h09
  4. Gestion de listes déroulantes avec un RecordSet
    Par tremblayfrnk dans le forum ASP
    Réponses: 3
    Dernier message: 23/12/2010, 14h27

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