Remplir combobox à l'ouverture d'excel [Résolu]

didou853113 14 Messages postés dimanche 13 avril 2008Date d'inscription 8 juin 2009 Dernière intervention - 12 mai 2009 à 09:01 - Dernière réponse : didou853113 14 Messages postés dimanche 13 avril 2008Date d'inscription 8 juin 2009 Dernière intervention
- 12 mai 2009 à 15:52
Bonjour, je travaille sur excel avec une base de données access. Je souhaite que en ouvrant mon fichier excel, la connexion à ma base access s'exécute automatiquement et que également, une liste déroulante  qui se trouve sur une feuille excel soit remplie dès l'ouverture. J'arrive à me connecter mais j'ai plus de mal à alimenter mon combobox. Je veux insérer le nom et prénom des clients dans le combobox
Voici le début de mon code :

Option Explicit
Dim Connexion As New ADODB.Connection
Dim Chaine As String
Dim Requete As String
Dim Recordset As New ADODB.Recordset


Private Sub Workbook_Open()


Chaine = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\...........bd1.mdb"


Connexion.Open Chaine


Requete = "SELECT NomClient, PrenomClient FROM Client"

???


End Sub

Merci pour votre aide
Afficher la suite 

6 réponses

Répondre au sujet
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscriptionModérateurStatut 28 août 2015 Dernière intervention - 12 mai 2009 à 15:19
+3
Utile
Quelle version de Excel ?
As-tu vraiment ajouter ce composant (Boite à outils Contrôles) ou bien apparait-il après une des fonctions du menu Données ?
Car, dans ce dernier cas, l'objet créé est déjà associé à une source d'informations, dont pas possible d'intervenir directement dans son contenu, il faut agir sur les plages de données associées lors de sa création.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Jack
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscriptionModérateurStatut 28 août 2015 Dernière intervention - 12 mai 2009 à 10:29
0
Utile
Salut
Attention de ne JAMAIS appeler une variable avec le nom d'un mot clé du langage : RecordSet --> à renommer
   Dim rs As ADODB.RecordSet

Méthode de requète standard et le lecture standard :
   rs.Open Requete, Connexion, adOpenStatic, adLockReadOnly
   maComboBox.Clear
   With rs
      If .RecordCount <> 0 Then
         .MoveFirst
         Do While Not .EOF
            maComboBox.Add .Fields("NomClient").Value
            .MoveNext
         Loop
      End If
   End With

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
didou853113 14 Messages postés dimanche 13 avril 2008Date d'inscription 8 juin 2009 Dernière intervention - 12 mai 2009 à 10:53
0
Utile
Salut, merci de m'aider. Mon autre problème, le dernier j'espère, est que ma combobox est créée directement sur une feuille excel et non pas sur une form, donc comment l'appeler et surtout comment savoir son nom ?
Merci
Commenter la réponse de didou853113
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscriptionModérateurStatut 28 août 2015 Dernière intervention - 12 mai 2009 à 13:27
0
Utile
Lorsque tu insères ce genre d'objet, un nom lui est automatiquement associé - Voir le cadre blanc "Zone Nom" en haut à gauche, au dessus de la deuille active.
Pour accéder à cet objet, il suffit de l'appeler par son nom
    With ActiveSheet
        ComboBox1.AddItem "Coucou"
    End With

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
didou853113 14 Messages postés dimanche 13 avril 2008Date d'inscription 8 juin 2009 Dernière intervention - 12 mai 2009 à 13:57
0
Utile
Je viens juste de créer une autre combobox. Par défaut son nom est Zonecombinée13.

With ActiveSheet

   Zonecombinée13.AddItem "salut"

End With

erreur 424
objet requis

une explication ?

Merci
Commenter la réponse de didou853113
didou853113 14 Messages postés dimanche 13 avril 2008Date d'inscription 8 juin 2009 Dernière intervention - 12 mai 2009 à 15:52
0
Utile
Merci j'ai trouvé la raison, j'utilisais la boite à outils formulaire et non controles.
Merci encore.
Commenter la réponse de didou853113

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.