Enregistrer la saisie d'un userform dans un classeur fermé

Bonjour le forum,

Je souhaiterais pouvoir enregistrer les données de mon userfom en pièce jointe (Attention pour ouvrir le code appuyer sur i) dans un classeur fermé "Base_PANDA.xlsx" et dans la feuille "Base-PANDA"

Voici mon code :

Sub Ajouter()
    Dim Cn As ADODB.Connection
    Dim Base As String, Feuille As String, strSQL As String

     'Définit le classeur fermé servant de base de données
    Base = "F:\PLANNING\Base_PANDA.xlsx"
    'Nom de la feuille du classeur fermé
    Feuille = "Base-PANDA"

    Set Cn = New ADODB.Connection

    With Cn
        .Provider = "MSDASQL"
        .ConnectionString = "Driver={Microsoft Excel Driver (*.xlsx)};" & _
            "DBQ=" & Base & "; ReadOnly=False;"
        .Open
    End With

'La fonction permet d'enregistrer une nouvelle commande dans la base PANDA
Dim no_ligne As Long
    no_ligne = 2 'première ligne à controler
    Do While Not IsEmpty(Range("A" & no_ligne))
        no_ligne = no_ligne + 1
    Loop
    MsgBox (no_ligne)

'Remplir la ligne vide à l'aide l'userform
strSQL = "INSERT INTO [" & Feuille & "$] " _
    & "VALUES (#" & Tx_NUM & "#, " & _
    "'" & Tx_NOM & ")"

Cn.Execute strSQL

Cn.Close
Set Cn = Nothing

End Sub

Je suis bloqué au niveau de .Open

Avez vous une idée pour que la connexion fonctionne ?

Merci.

23panda.xlsm (225.24 Ko)

Bonjour,

Pour mes appli, j'utilise plutôt la syntaxe suivante :

Dim Cnx As Object

    Set Cnx = CreateObject("ADODB.Connection")
    Cnx.Provider = "MSDASQL"
    Cnx.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
             "DBQ=" & Base & "; ReadOnly=False;"
    ' ...
Rechercher des sujets similaires à "enregistrer saisie userform classeur ferme"