Bonsoir à tous,

Je sais que c'est le week-end, que certains d'entre vous aimeraient reposer leurs neurones, mais je suis frappé d'un certain goût du sadisme et ait décidé de poster tout de même mon problème.

A chaque moment de la journée, j'aimerais pouvoir enregistrer plusieurs cellules d'une même ligne de mon classeur actif (disons la plage A1:A7) sur un classeur fermé qui servirait de base de données, d'où l'utilité de ADO ici.

Malgré plusieurs tentatives, impossible de trouver le code miracle :


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
Sub InsertRecord(ByVal nom As String, Byval prenom As String, ByVal age As Integer)
    Dim Cnx As ADODB.Connection
    Dim Fichier As String, Feuille As String, strSQL As String
 
    Fichier = "C:\archive.xls" 'chemin complet du fichier fermé
    Feuille = "ok" 'Onglet où les données doivent être insérées
 
 
    Set Cnx = New ADODB.Connection
 
    With Cnx
        .Provider = "MSDASQL"
        .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
            "DBQ=" & Fichier & "; ReadOnly=False;"
        .Open
    End With
 
    'Les données doivent être indiquées dans le même ordre que les champs dans la base de données.
    strSQL = "INSERT INTO [" & Feuille & "$] " _
        & "VALUES ( '" & nom "', '" & prenom & "', "  & age  & ")"
 
    Cnx.Execute strSQL
 
    Cnx.Close
    Set Cnx = Nothing
End Sub
Je suis maintenant perdu, comme Jack. Aidez-moi, braves John Locke. Je vous remercie d'avance ..