Bonjour les exceliens
je rencontre un problème lors de la saisie en ADO . Effectivement lorsque mon champs est vide j'ai une erreur d'exécution du type 3021 BOF ou EOF est égale a true .
ci dessous le code que j'utilise
Private Sub UserForm_Initialize()
'alimente la listbox a l'initialise
Fichier = "Article4.xls"
Dim rs As ADODB.Recordset
Set cnn = New ADODB.Connection
répertoire = ThisWorkbook.Path & "\"
cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & répertoire & Fichier
Set rs = cnn.Execute("SELECT DISTINCT NOM FROM BD WHERE NOM<>'' ORDER BY NOM")
a = rs.GetRows
Permis.ComboBox1.List = Application.Transpose(a)
end sub
Private Sub CommandButton1_Click()
repertoire = ThisWorkbook.Path & "\"
Set cnn = New ADODB.Connection
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & repertoire & Fichier & ";Extended Properties=Excel 8.0;"
Set rs = New ADODB.Recordset
rs.Open "SELECT * from BD WHERE PRENOM='" & Permis.ListBox1 & "'", cnn, adOpenDynamic, adLockOptimistic
rs(14) = Permis.ComboBox2
rs(18) = Permis.ComboBox2'
rs(19) = Permis.ComboBox3
rs(17) = Permis.ComboBox4
rs(16) = Permis.ComboBox5
rs(15) = Permis.ComboBox6
Unload Me
rs.Update
rs.Close
cnn.Close
end sub
Merci a tous de vos suggestions et aide apportée sur fil
Cordialement
Ghislain