Bonjour, je suis débutant en vba et là, je ne comprend pas comment faire ma macro, je vous expose mon problème:
j'ai un fichier excel qui grace à un code vba récupère des données sur internet en fonction de paramètres définis par l'utilisateur, puis, par la suite ces données sont retraitées et mises en forme dans une feuille excel sous forme d'un tableau, j'aimerai créer une macro excel qui : dans un premier temps envoi ce tableau tel qu'il est dans access et créer une table dans un deuxieme temps j'aimerai que ce tableau qui est dans excel efface les données récupérées (puisque maintenant elles sont dans access) via un clearcontents ca je pense pouvoir faire enfin derniere etape lorsque l'utilisateur ré entre des parametres dans excel l'operation recommence càd excel met en forme les données récupérées sur internet les envoie sous access mais là il faut qu'il se créer une nouvelle table sous access pour ne pas supprimer les données précédemment collés dans access.
ci dessous mon code
en gros avant ca j'ai ma macro excel qui retraite les données voulues par l'utilisateur puis j'essai de me connecter à mon fichier sql nommé basereuters.mdb
Public cnx As ADODB.Connection
Sub auto_open() ' La sub auto_open possède la propriété d'être automatiquement ' exécutée à l'ouverture du classeur Excel ' à l'identique : auto_close est exécutée sur la fermeture Dim strPath As String
strPath = ThisWorkbook.Path & "\basereuters.mdb"
' Nous testons si le fichier est accessible If Len(Dir(strPath)) > 0 Then ' Déclaration de la variable de connexion Set cnx = New ADODB.Connection
' Connexion à la base ConnectDB cnx, strPath Else MsgBox "La base n'a pas pu être trouvée" & vbCrLf & _ strPath & vbCrLf & _ "n'est pas un chemin valide.", vbCritical + vbOKOnly End If
End Sub
Sub ConnectDB(ByRef cnx As ADODB.Connection, ByVal strPath As String)
'Définition du pilote de connexion cnx.Provider = "Microsoft.Jet.Oledb.4.0" 'Définition de la chaîne de connexion cnx.ConnectionString = strPath 'Ouverture de la base de données cnx.Open *************c'est la que je ne sais pas quoi faire pour copié mon tableau excel dans access*******************
Je suis dans l'impasse la plus totale ! j'en appelle à votre aide ! Merci d'avance louloumimil
Message édité par louloumimil le 29-04-2013 à 16:42:30
Marsh Posté le 29-04-2013 à 16:18:31
Bonjour,
je suis débutant en vba et là, je ne comprend pas comment faire ma macro, je vous expose mon problème:
j'ai un fichier excel qui grace à un code vba récupère des données sur internet en fonction de paramètres définis par l'utilisateur, puis, par la suite ces données sont retraitées et mises en forme dans une feuille excel sous forme d'un tableau, j'aimerai créer une macro excel qui :
dans un premier temps envoi ce tableau tel qu'il est dans access et créer une table
dans un deuxieme temps j'aimerai que ce tableau qui est dans excel efface les données récupérées (puisque maintenant elles sont dans access) via un clearcontents ca je pense pouvoir faire
enfin derniere etape lorsque l'utilisateur ré entre des parametres dans excel l'operation recommence càd excel met en forme les données récupérées sur internet les envoie sous access mais là il faut qu'il se créer une nouvelle table sous access pour ne pas supprimer les données précédemment collés dans access.
ci dessous mon code
en gros avant ca j'ai ma macro excel qui retraite les données voulues par l'utilisateur puis j'essai de me connecter à mon fichier sql nommé basereuters.mdb
Public cnx As ADODB.Connection
Sub auto_open()
' La sub auto_open possède la propriété d'être automatiquement
' exécutée à l'ouverture du classeur Excel
' à l'identique : auto_close est exécutée sur la fermeture
Dim strPath As String
strPath = ThisWorkbook.Path & "\basereuters.mdb"
' Nous testons si le fichier est accessible
If Len(Dir(strPath)) > 0 Then
' Déclaration de la variable de connexion
Set cnx = New ADODB.Connection
' Connexion à la base
ConnectDB cnx, strPath
Else
MsgBox "La base n'a pas pu être trouvée" & vbCrLf & _
strPath & vbCrLf & _
"n'est pas un chemin valide.", vbCritical + vbOKOnly
End If
End Sub
Sub ConnectDB(ByRef cnx As ADODB.Connection, ByVal strPath As String)
'Définition du pilote de connexion
cnx.Provider = "Microsoft.Jet.Oledb.4.0"
'Définition de la chaîne de connexion
cnx.ConnectionString = strPath
'Ouverture de la base de données
cnx.Open
*************c'est la que je ne sais pas quoi faire pour copié mon tableau excel dans access*******************
Je suis dans l'impasse la plus totale ! j'en appelle à votre aide !
Merci d'avance
louloumimil
Message édité par louloumimil le 29-04-2013 à 16:42:30