Bonjour à tous,

J'ai écrit ce code (qui fonctionne) qui permet d'utiliser un fichier Excel comme base de données --> base.xls contenant 1 feuille nommée liste avec 3 colonnes : Reference, Designation, Prix

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
43
44
45
46
47
48
49
50
51
 
Sub test1()
 
    Dim Conn As ADODB.Connection
    Dim rsT As ADODB.Recordset
    Dim Fichier As String, Direction As String, rSQL As String
 
    Direction = ThisWorkbook.Path
    Fichier = "base.xls"
 
 
    'Mise en place de la connexion avec le fichier
    Set Conn = New ADODB.Connection
        With Conn
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "Data Source=" & Direction & "\" & Fichier & _
            ";Extended Properties=Excel 8.0;"
            .Open
        End With
 
 
 
    Réf_Recherchée = InputBox("Saisissez une réf.")
 
    'Déclaration de la Recherche au format SQL
    rSQL = "SELECT * FROM [Liste$] WHERE [Reference] LIKE '" & Réf_Recherchée & "'"
 
 
    'Exécution de la Recherche SQL
    Set rsT = New ADODB.Recordset
        With rsT
            .ActiveConnection = Conn
            .Open rSQL, , adOpenKeyset, adLockOptimistic, adCmdTableDirect
        End With
 
    Nb_résultats = rsT.RecordCount
 
    'Récupération des enregistrements
    For i = 0 To rsT.RecordCount - 1
        MsgBox rsT.Fields(0).Value & " : " & vbCrLf & rsT.Fields(1).Value & vbCrLf & "Prix : " & rsT.Fields(2).Value & " €"
 
         rsT.MoveNext
    Next i
 
 
 
    'Fermeture de la connexion avec la table
    rsT.Close
    Conn.Close
 
End sub

Comment adapté ce code pour une base de données qui serait au format csv avec comme séparateur le point virgule ?

Ou alors existe une autre solution ?

Merci

A+

Dams'