Lise de choix + BDD Access

tdaoui

XLDnaute Junior
Bonjour à tous, Bonjour le forum,

Je reviens vers vous car j'ai une question relative aux listes de choix sur Excel

Question : Comment faire pour créer une liste de choix depuis une BDD Access? Est-ce possible déja? :confused:

En vous remerciant par avance pour votre aide

Merci le forum

Cdt,
TD
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Lise de choix + BDD Access

Bonsoir Tdaoui, le Forum

Oui c'est possible, mais qu'appelles-tu une "Liste de Choix" sur Excel ?

  • Une "Liste Données Validation"
  • Une "Zone de Liste" de la Boite à Outils Contrôles (ActiveX ListBox)
  • Une "Zone de Liste" de la Boite à Outils Formulaire
Sinon pour lire Access il faut t'orienter sur "ActiveX Data Object" ADO il y a eu pas mal de démos de mes amis MichelXLD et Michel_M sur ce Forum...

Bonne Soirée
@+Thierry
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Lise de choix + BDD Access

Bonsoir,

Exemple d'un formulaire Excel avec BDD Access:

Code:
Private Sub UserForm_Initialize()
 ' Microsoft ActiveX DataObject doit être coché

 ' Nom_client
 ' Dupont
 ' Martin
 ' Campas
 '
 Set cnn = New ADODB.Connection
 repertoire = ThisWorkbook.Path & "\"
 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.ListBox1.List = Application.Transpose(rs.GetRows)
 rs.Close
 cnn.Close
 Set rs = Nothing
 Set cnn = Nothing
End Sub

JB
Formation Excel VBA JB
 

MichelXld

XLDnaute Barbatruc
Re : Lise de choix + BDD Access

Bonsoir chers Jacques et Thierry ...;o)


Tu peux adapter la procédure de Jacques:

Code:
Set Cnn = New ADODB.Connection
Repertoire = "C:\Documents and Settings\dossier\"
 
Cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & _
    Repertoire & "database.mdb"
 
Set Rs = Cnn.Execute("SELECT DISTINCT Nom_Client FROM Table1 Order By Nom_Client")
 
Do Until Rs.EOF
    Cible = Cible & Rs.Fields(0).Value & ","
    Rs.MoveNext
Loop
 
With Range("A1").Validation
  .Delete
  .Add Type:=xlValidateList, Formula1:=Cible
End With
 
Rs.Close
Cnn.Close
Set Rs = Nothing
Set Cnn = Nothing



Bonne soirée
MichelXld
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Lise de choix + BDD Access

Avec Données/Validation:


La liste est créée dans un onglet Liste:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$2" Then
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")
Sheets("Liste").[A2].CopyFromRecordset rs
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End If
End Sub


JB
 

Pièces jointes

  • Access2000.zip
    33.7 KB · Affichages: 45
  • Access2000.zip
    33.7 KB · Affichages: 44
  • Access2000.zip
    33.7 KB · Affichages: 44

Discussions similaires

Réponses
45
Affichages
1 K
Réponses
7
Affichages
430

Statistiques des forums

Discussions
312 584
Messages
2 089 965
Membres
104 319
dernier inscrit
J-LZ