Bonsoir à tous,

Après de nombreuses recherches, j'aurai aimé avoir votre avis sur ce que j'ai pu récolter ..

Tout d'abord, je souhaiterais afficher dans un programme en VB le contenu de cellules d'un dossier Excell.
Celui ci se présente de façon suivante, des questions en colonne A, les réponses en B et une lettre (O/N) servant d'indicateur dans la colonne C.

Mon souhait serait de pouvoir afficher la question dans un simple label, proposer à l'utiliser sa réponse puis lui montrer celle indiquée dans le fichier excell. Après quoi l'utilisateur indiquera si il souhaite revoir la question (notion de O/N)..

Donc voici ce que j'ai trouvé, si j'ai bien compris cette première partie sert à se connecter au classeur :

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
52
Sub RequeteClasseurFerme()
    Dim Cn As ADODB.Connection
    Dim Fichier As String
    Dim NomFeuille As String, texte_SQL As String
    Dim Rst As ADODB.Recordset
 
    'Définit le classeur fermé servant de base de données
    Fichier = "C:\monClasseurBase.xls"
    'Nom de la feuille dans le classeur fermé
    NomFeuille = "Feuil1"
 
    Set Cn = New ADODB.Connection
 
    '--- Connection ---
    With Cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & Fichier & _
            ";Extended Properties=Excel 8.0;"
        .Open
    End With
 
Et cette partie pour lire directement les cellules :
 
Sub extractionValeurCelluleClasseurFerme()
    Dim Source As ADODB.Connection
    Dim Rst As ADODB.Recordset
    Dim ADOCommand As ADODB.Command
    Dim Fichier As String, Cellule As String, Feuille As String
 
    'Adresse de la cellule contenant la donnée à récupérer
    Cellule = "B4:B4"
      'Pour une plage de cellules, utilisez:
      'Cellule = "A4:C10"
 
    Feuille = "Feuil1$" 'n'oubliez pas d'ajouter $ au nom de la feuille.
    'Chemin complet du classeur fermé
    Fichier = "C:\Base.xls"
 
    Set Source = New ADODB.Connection
    Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
 
    Set ADOCommand = New ADODB.Command
    With ADOCommand
        .ActiveConnection = Source
        .CommandText = "SELECT * FROM [" & Feuille & Cellule & "]"
    End With
 
    Set Rst = New ADODB.Recordset
    Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
 
    Set Rst = Source.Execute("[" & Feuille & Cellule & "]")

Déjà est ce que les deux parties sont nécessaires, ou la dernière se suffit-elle ?
Et sinon que pensez vous de ce code, extrait du FTP du site de developpez.net

Merci pour votre réponse.