OVH Cloud OVH Cloud

Tableau Excel liée sous Access : définir le nombre de lignes

4 réponses
Avatar
Thom Thom
Bonjour,

J'attache un tableau excel sous access avec le code ci-dessous. Celui-ci
fonctionne très bien, seulement si je donne comme table source
(SourceTableName), le nom de la plage de donnée au préalablement définie
sous excel. Cette solution n'est pas très souple, Comment puis-je m'en
affranchir tout en rammenant le nombre exact de ligne.

Merci d'avance,

Thom.

Public Sub ConnectOutput(dbsTemp As Database, _
strTable As String, _
strConnect As String, _
strSourceTable As String)

Dim tdfLinked As TableDef
Dim intTemp As Integer

Set tdfLinked = dbsTemp.CreateTableDef(strTable)

tdfLinked.Connect = strConnect
tdfLinked.SourceTableName = strSourceTable
dbsTemp.TableDefs.Append tdfLinked

End Sub

4 réponses

Avatar
Raymond [mvp]
Bonjour.

la façon la plus simple d'attacher une feuille excel est de procéder
par:TransferSpreadsheet
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, "matable",
"classeur1.xls", False

et ça marche à tous les coups.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Thom Thom" a écrit dans le message de news:

Bonjour,

J'attache un tableau excel sous access avec le code ci-dessous. Celui-ci
fonctionne très bien, seulement si je donne comme table source
(SourceTableName), le nom de la plage de donnée au préalablement définie
sous excel. Cette solution n'est pas très souple, Comment puis-je m'en
affranchir tout en rammenant le nombre exact de ligne.

Merci d'avance,

Thom.

Public Sub ConnectOutput(dbsTemp As Database, _
strTable As String, _
strConnect As String, _
strSourceTable As String)

Dim tdfLinked As TableDef
Dim intTemp As Integer

Set tdfLinked = dbsTemp.CreateTableDef(strTable)

tdfLinked.Connect = strConnect
tdfLinked.SourceTableName = strSourceTable
dbsTemp.TableDefs.Append tdfLinked

End Sub






Avatar
Thom Thom
Simple et eficace, merci, tu as juste réduit a néant 4heures de recherche
;-)
Question subsidiaire, sais-tu si il est possible de sélectionner un onglet?


"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

la façon la plus simple d'attacher une feuille excel est de procéder
par:TransferSpreadsheet
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, "matable",
"classeur1.xls", False

et ça marche à tous les coups.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Thom Thom" a écrit dans le message de news:

Bonjour,

J'attache un tableau excel sous access avec le code ci-dessous. Celui-ci
fonctionne très bien, seulement si je donne comme table source
(SourceTableName), le nom de la plage de donnée au préalablement définie
sous excel. Cette solution n'est pas très souple, Comment puis-je m'en
affranchir tout en rammenant le nombre exact de ligne.

Merci d'avance,

Thom.

Public Sub ConnectOutput(dbsTemp As Database, _
strTable As String, _
strConnect As String, _
strSourceTable As String)

Dim tdfLinked As TableDef
Dim intTemp As Integer

Set tdfLinked = dbsTemp.CreateTableDef(strTable)

tdfLinked.Connect = strConnect
tdfLinked.SourceTableName = strSourceTable
dbsTemp.TableDefs.Append tdfLinked

End Sub










Avatar
Raymond [mvp]
Bien sûr

DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, ,
"classeur1.xls", False, "feuil1!"
ou
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, ,
"classeur1.xls", False, "feuil1!A10:F100"

je ne sais plus si c'est "feuil1!" ou "feuil1"
tu feras un essai.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Thom Thom" a écrit dans le message de news:

Simple et eficace, merci, tu as juste réduit a néant 4heures de recherche
;-)
Question subsidiaire, sais-tu si il est possible de sélectionner un
onglet?




Avatar
Thom Thom
Ca marche avec "feuil!"

Merci !!


"Raymond [mvp]" a écrit dans le message de
news:
Bien sûr

DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, ,
"classeur1.xls", False, "feuil1!"
ou
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, ,
"classeur1.xls", False, "feuil1!A10:F100"

je ne sais plus si c'est "feuil1!" ou "feuil1"
tu feras un essai.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Thom Thom" a écrit dans le message de news:

Simple et eficace, merci, tu as juste réduit a néant 4heures de recherche
;-)
Question subsidiaire, sais-tu si il est possible de sélectionner un
onglet?