Private Sub CréerTablePersonnes()
' Modèle de chaîne de connexion pour accdb
Const CNX_BASE As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=@;Persist Security Info=False;"
Dim DataBaseFile As String
Dim cnx As Object
' Chemin complet vers la base de données accdb
DataBaseFile = ThisWorkbook.Path & Application.PathSeparator & "MaBase.accdb"
' Création et ouverture de la connexion
Set cnx = CreateObject("Adodb.Connection")
cnx.connectionString = Replace(CNX_BASE, "@", DataBaseFile)
cnx.Open
' Supprimer la table au cas ou elle existerait déjà
On Error Resume Next
cnx.Execute "DROP TABLE Personnes"
On Error GoTo 0
' Create the Employees table.
cnx.Execute _
"CREATE TABLE Personnes(" & _
"Id INTEGER NOT NULL," & _
"Nom VARCHAR(40) NOT NULL," & _
"Prénom VARCHAR(40) NOT NULL)"
' Fermeture et destruction de l'objet connexion
cnx.Close
End Sub
Private Sub Command1_Click()
' Modèle de chaîne de connexion pour accdb
Const CNX_BASE As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=@;Persist Security Info=False;"
Dim DataBaseFile As String
Dim cnx As Object, cmd As Object, res As Object
' Chemin complet vers la base de données accdb
DataBaseFile = ThisWorkbook.Path & Application.PathSeparator & "MaBase.accdb"
' Création et ouverture de la connexion
Set cnx = CreateObject("Adodb.Connection")
cnx.ConnectionString = Replace(CNX_BASE, "@", DataBaseFile)
cnx.Open
' Création d'une commande
Set cmd = CreateObject("Adodb.command")
cmd.CommandType = 4 '1 = adCmdText 4 = adCmdStoredProc
cmd.CommandText = "RQ_CreerPersonnes"
cmd.ActiveConnection = cnx
Set res = cmd.Execute()
' Fermeture et destruction des objets
Set cmd = Nothing
cnx.Close
Set cnx = Nothing
End Sub
Euh,Ok merci je test ça demain par contre la base Access et mon fichier Excel ne sont pas dans le même dossier, il y a une solution de contournement ? Merci