OVH Cloud OVH Cloud

userform et données externes

1 réponse
Avatar
Philippe
Bonjour,

Existe t il un moyen de recuperer des donn=E9es dans une=20
base Excel contenues dans un fichier externe et de les=20
inserer dans une Combobox d'un Userform.
Merci.
Philippe

1 réponse

Avatar
michdenis
Bonjour Philippe,

Comme tu n'as pas spécifié d'où originaient tes données,

Voici un exemple à partir de la base de données "Comptoir.mdb"
disponible sur le CD d'intallation. Les chaînes de connection aux diverses
logiciels de base de données sont différentes .... attention !

Cet exemple initialise un combobox avec les entrées d'un champ "Société"
de la table "fournisseurs"

Les données de ton combobox ne contiendront pas de doublons et elles
seront classées par ordre alphabétique.

Tu dois ajouter à ton projet excel la référence suivante :

"Microsoft activex data objects 2.0 librairy"

'.--------------------------------
Sub InitialerUnCombobox()

Dim C As Integer
Dim cnt As New ADODB.Connection, Rst As New ADODB.Recordset
Dim A As Variant, BaseAccess, Requete1 As String

'Chemin et Base de données. Comptoir.mdb fait parti
'des bases de données exemple que l'on retrouve
'sur le CD d'installation

BaseAccess = ThisWorkbook.Path & "" & "Comptoir.mdb"

requete1 = "SELECT Fournisseurs.Société " & _
"FROM Fournisseurs " & _
"GROUP BY Fournisseurs.Société;"

'Création d'une connection avec la base de données.
cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & BaseAccess

'Ouverture du recordset (exécution de la requête)
Rst.Open requete1, cnt, adOpenKeyset

A = Rst.GetRows
UserForm1.ComboBox1.List = Application.Transpose(A)

'Fermeture de la connection entre excel et la base de données
cnt.Close

'Libération de l'espace mémoire occupé par les objets
Set Rst = Nothing: Set cnt = Nothing

End Sub
'.--------------------------------






"Philippe" a écrit dans le message de news:2b21001c46809$3aaa9a30$
Bonjour,

Existe t il un moyen de recuperer des données dans une
base Excel contenues dans un fichier externe et de les
inserer dans une Combobox d'un Userform.
Merci.
Philippe