appel Access depuis Excel vba

  • Initiateur de la discussion Initiateur de la discussion alexis
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

alexis

XLDnaute Nouveau
Bonsoir tout le monde!

Je souhaite copier-coller de la façon la plus automatisée possible un fichier texte (ouvert dans excel par macro) dans une table Access fixe.
Je souhaite par exemple ajouter une instruction qui demande à Excel d'ouvrir Access.

Voici ce que j'ai trouvé :

Sub test()
Dim acApp As Object
On Error Resume Next
Set acApp = GetObject('T:\\interv\\scor2.mdb', 'Access.Application')
'Set acApp = CreateObject('Access.Application')
'Set basemdb = acApp.OpenCurrentDatabase('T:\\interv\\scor2.mdb')
'Set acApp = Nothing
acApp.Visible = True
acApp.Close = False
End Sub

Cette macro ouvre 'trop bien' la base Access puisqu'on la voit s'ouvrir mais pour se refermer aussitôt!

Savez vous s'il y a moyen de laisser ouverte cette application Access de manière à ce qu'on n'ait pas à la chercher, à l'ouvrir etc?

Je vous remercie d'avance,

Alexis, débutant en VBA...
 
bonjour Alexis

je ne suis pas sur d'avoir bien compris mais cet exemple permet d'exporter une plage de cellules Excel dans une Table Access existante . il doit aussi etre possible de transferer le fichier texte directement vers la table


Code:
Sub ajoutDonneesTable()
'necessite d'activer la reference Microsoft ActiveX Data Objects 2.0 Library
Dim Conn As New ADODB.Connection
Dim rsT As New ADODB.Recordset
Dim LoopRange As Range, CurrCell As Range
Dim nomTable As String
Dim i As Byte

nomTable = 'maTable'

With Conn
' Définition du fournisseur OleDB pour la connexion
.Provider = 'Microsoft.JET.OLEDB.4.0'
' Ouverture d'une connexion 
.Open ThisWorkbook.Path & '\\MaBase_V02.mdb'
End With

With rsT
.ActiveConnection = Conn
' Ouverture de la nouvelle table. Pour pouvoir ajouter des
' enregistrements dans la table, l'argument Locktype de la
' méthode Open doit être défini à adLockOptimistic
.Open nomTable, LockType:=adLockOptimistic
End With

' Définition de la plage contenant les enregistrements à
' ajouter à la base de données
Set LoopRange = Feuil1.Range('A2:A' & Feuil1.Range('A2').End(xlDown).Row)

' Parcours des informations dans la feuille de calcul
For Each CurrCell In LoopRange
With rsT
' Ajout d'un nouvel enregistrement
.AddNew
' Ajout des informations dans les champs appropriés
.Fields('Code').Value = CurrCell
.Fields('LesDates').Value = CurrCell.Offset(0, 1)
.Fields('Valeurs').Value = CurrCell.Offset(0, 2)
' Écriture du nouvel enregistrement dans la base de données
.Update
End With
Next CurrCell

rsT.Close
Conn.Close
MsgBox 'Export terminé'
End Sub


bonne soiree
MichelXld

Message édité par: MichelXld, à: 23/06/2005 21:08
 
Bonjour Michel,

L'idée est à peu près là : exporter une plage fixe de données Excel régulièrement vers Access.
Toutefois je préférerais passer par une programmation plus simple : je voudrais faire une simple macro appelant une instance de Access et ouvrant ma base de donnée afin que je puisse la manipuler par la suite

(au lieu d'aller chercher avec la souris l'application Access, puis ouvrir 'à la main' la base de données).

j'avais trouvé une programmation qui marchait à ceci près que l'application se ferme tout de suite après la fin de la macro (Access s'ouvre puis se referme aussitôt) :

Sub test()
Dim acApp As Object
On Error Resume Next
Set acApp = GetObject('T:interv\\scor2.mdb', 'Access.Application')
acApp.Visible = True
acApp.Close = False
End Sub

y a t il un moyen de garder Access ouvert avec cette programmation là?

Merci d'avance,

Alexis
 
Re : appel Access depuis Excel vba

Bonjour,

Je cherche également à ouvrir access (+précisémment un formulaire) à partir d'un fichier excel.
J'ai essayé le code ci-dessus et effectivement, cela ouvre access puis le referme aussitôt.

Avez-vous trouvé une solution à ce problème?

Merci d'avance.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
8 K
Compte Supprimé 979
C
A
Réponses
13
Affichages
1 K
C
Retour