Ecrire dans classeur fermé

bonjour

voila je récupère une information dans un classeur fermé , jusque la c'est bon mais je souhaite a la fin de ma mise a jour écrire dans ce même classeur fermé

 Sub controleversion()
Dim Fichier As String, Cellule As String, Feuille As String
'***controle endroit fichier***********
Dim emplacement As String
    emplacement = ActiveWorkbook.FullName
    'MsgBox emplacement
    splitEmp = Split(emplacement, "\")
    If splitEmp(UBound(splitEmp) - 1) = "vba6co" Then
        MsgBox ("Le fichier ne doit pas être utilisé à cet emplacement. Veuillez le copier sur votre ordinateur.")
        ThisWorkbook.Close
        'Application.Quit
        Exit Sub
    End If
    '******************controle presence fichier****************
Fichier = Sheets("Version").Range("b2").Value 'Chemin complet du classeur fermé
    MsgBox Fichier
    '***********************
    'Vérification de l'existance du classeur
    Set oFSO = New Scripting.FileSystemObject
    'Instanciation de l'objet File
    If oFSO.FileExists(Fichier) Then
   oFSO.GetFile (Fichier)
    '************************tessssstttt*******************************************
   Dim Cn As ADODB.Connection

    Dim NomFeuille As String, texte_SQL As String
    Dim Rst As ADODB.Recordset
    'Nom de la feuille dans le classeur fermé
    NomFeuille = "Version"
    Set Cn = New ADODB.Connection
    '--- Connection ---
    Cn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
    Cn.Open
    '-----------------
    'Définit la requête.
    '/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
    texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute(texte_SQL)
    'résultat de la requête
  MsgBox "ccccccc     " & Rst(0).Value
    versiona = Rst(0).Value

    '--- Fermeture connexion ---

    Rst.Close
    Cn.Close
    Set Cn = Nothing
    '************controle version *********************
    versionb = Worksheets("Version").Cells(2, 1).Value
    MsgBox "version b****" & versionb
    If versionb < versiona Then
    MsgBox " plus petit  "
    '************enregistrement nouvel version sur bureau*****************
    Chemin = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
newclasseur = Chemin & "gestion sertissage " & "V" & versiona & ".xlsm"
MsgBox newclasseur
 reponse = MsgBox("Nouvelle Version a copier sur bureau ?", vbYesNo + vbInformation, "Mise à jour") ' 
If reponse = vbYes Then
 MsgBox "on copie fichier"
 oFSO.CopyFile Fichier, newclasseur, True
 MsgBox ("Mise à jours terminée." & vbNewLine & "Vous pouvez ouvrir le nouveau fichier.")
  Else
  MsgBox "on copie pas fichier"
  Exit Sub
End If
  '***********************************************************************
    Else
    Exit Sub
    End If
Else
        MsgBox ("le fichier n'existe pas")
        Exit Sub
    End If

End Sub

donc dal le classeur ferme en NomFeuille = "Version" ecrire en a4 quelque chose

merci d'avance

bonjour

voici ma version mais je bloque encore

si la cellule

strSQL = "INSERT INTO [" & Feuille & "$b1:b1] " & "VALUES ('" & valeur & "')"

n'est pas vide alors erreur

je pense qu'il faut utiliser updapte mais je n'y arrive pas

Sub test()
 Dim Feuille As String
    Dim Cn As ADODB.connection
    Dim strSQL As String
    chemin_logiciel = ActiveWorkbook.Path
    'Définit le classeur fermé servant de base de données
    Fichier = "i:\vba6co\gestion sertissage.xlsm" 'Chemin complet du classeur fermé
    Feuille = "Version"
    Set Cn = New ADODB.connection
   Cn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Fichier & ";Extended Properties=""Excel 12.0;HDR=yes;"""
    Cn.Open
    '***********lecture version****************
      Set Rst = New ADODB.Recordset
   querystr = "select * from [Version$a2:a2]"
   Rst.Open querystr, Cn, adOpenUnspecified, adLockUnspecified
   nom = Rst.Fields(0).Name
   MsgBox nom
   Rst.Close
    '**************ecrire ancienne version*****************************
    Dim leNom As String
    valeur = "test"
   strSQL = "INSERT INTO [" & Feuille & "$b1:b1] " & "VALUES ('" & valeur & "')"
    Cn.Execute strSQL
    Cn.Close
    Set Cn = Nothing
End Sub
Rechercher des sujets similaires à "ecrire classeur ferme"