1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Private Sub Userform_Initialize()
'Private Sub CommandButton1_Click()
'necessite d'activer la reference Microsoft ActiveX Data Objects x.x Lib rary
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Chemin As String, Cible As String, laBase As String
'Chemin = ThisWorkbook.Path
Chemin = Sheets("Calcul").Range("REPEVOL")
laBase = "societes.dbf"
With ComboBox1
.Clear 'suppression anciennes données dans combobox
.ColumnCount = 4 'nombre de colonnes
'Il y aura 4 colonnes dans ComboBox
.ColumnWidths = "130;0;0;0" 'largeur colonnes
End With
Set Cn = New ADODB.Connection
Cn.Open _
"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" & _
Chemin & ";"
'pour la recuperation des champs RAIS ,PATH ,DATEDEB,DATEFIN
Cible = "SELECT RAIS,PATH,DATEDEB,DATEFIN FROM " & laBase & " ORDER BY RAIS ;"
Set Rs = New Recordset
Rs.Open Cible, Cn, adOpenKeyset, adLockOptimistic
Do While Not Rs.EOF
ComboBox1.AddItem Rs.Fields(0).Value 'champ RAIS
ComboBox1.List(ComboBox1.ListCount - 1, 1) = Rs.Fields(1).Value 'champ PATH
If Not Rs.Fields(2).Value = "" Then _
ComboBox1.List(ComboBox1.ListCount - 1, 2) = Rs.Fields(2).Value 'DATEDEB
If Not Rs.Fields(3).Value = "" Then _
ComboBox1.List(ComboBox1.ListCount - 1, 3) = Rs.Fields(3).Value 'DATEFIN
Rs.MoveNext
Loop
Rs.Close
Cn.Close
End Sub |
Partager