OVH Cloud OVH Cloud

exel et table access

10 réponses
Avatar
lou
bonjour

j'ai un fichier exel vide (C:\Documents and Settings\lou\Mes
documents\FICHEts.xls" ) qui contiens une dizaine de champs nom prenom etc
etc

je voudrais exporter une table access 2000
dans ce fichier par une requete
si possible effacer son contenu avant (sauf le nom des champs)
en fait le fichier est toujours le meme
comment faire ?
merci pour votre aide

10 réponses

Avatar
Raymond [mvp]
Bonjour.

Pour transférer la table dans le fichier:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "LaTable",
"C:Documents and SettingslouMes documentsFICHEts.xls", True
le nom des champs access sera placé en 1ere ligne du fichier excel, dernière
feuille active utilisée.
si tu veux vider complètement la feuille, il faut passer par automation
avant de transférer:

Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("Classeur1.XLS")
Set XL_Feuille = XL_Classeur.Sheets("Avril 2005")
With XL_Feuille
.Select
.Rows("1:200").Select
.Selection.Delete Shift:=xlUp
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing

cocher la référence à la librairie excel.

--
@+
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


"lou" a écrit dans le message de news:
4208d818$0$325$
bonjour

j'ai un fichier exel vide (C:Documents and SettingslouMes
documentsFICHEts.xls" ) qui contiens une dizaine de champs nom prenom etc
etc

je voudrais exporter une table access 2000
dans ce fichier par une requete
si possible effacer son contenu avant (sauf le nom des champs)
en fait le fichier est toujours le meme
comment faire ?
merci pour votre aide




Avatar
lou
merci raymond

pour envoyer les donnees c'est ok mais pour effacer
mais j'ai un bug


Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("Classeur1.XLS")
Set XL_Feuille = XL_Classeur.Sheets("Avril 2005")
With XL_Feuille
.Select
.Rows("1:200").Select
"""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Selection.Delete Shift:=xlUp ici le bug

qui dit propriete ou methode non gerée par cet object


"""""""""""""""""""""""""""""""""""""""""""""""""

End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing

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

Pour transférer la table dans le fichier:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "LaTable",
"C:Documents and SettingslouMes documentsFICHEts.xls", True
le nom des champs access sera placé en 1ere ligne du fichier excel,
dernière

feuille active utilisée.
si tu veux vider complètement la feuille, il faut passer par automation
avant de transférer:

Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("Classeur1.XLS")
Set XL_Feuille = XL_Classeur.Sheets("Avril 2005")
With XL_Feuille
.Select
.Rows("1:200").Select
.Selection.Delete Shift:=xlUp
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing

cocher la référence à la librairie excel.

--
@+
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


"lou" a écrit dans le message de news:
4208d818$0$325$
bonjour

j'ai un fichier exel vide (C:Documents and SettingslouMes
documentsFICHEts.xls" ) qui contiens une dizaine de champs nom prenom
etc


etc

je voudrais exporter une table access 2000
dans ce fichier par une requete
si possible effacer son contenu avant (sauf le nom des champs)
en fait le fichier est toujours le meme
comment faire ?
merci pour votre aide








Avatar
Pat59
Bonjour,

As-tu pensé è liéer ta feuille Excel à ta base et faire une requête de mise
à jour?

Patrice

"lou" wrote:

merci raymond

pour envoyer les donnees c'est ok mais pour effacer
mais j'ai un bug


Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("Classeur1.XLS")
Set XL_Feuille = XL_Classeur.Sheets("Avril 2005")
With XL_Feuille
.Select
.Rows("1:200").Select
"""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Selection.Delete Shift:=xlUp ici le bug

qui dit propriete ou methode non gerée par cet object


"""""""""""""""""""""""""""""""""""""""""""""""""

End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing

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

Pour transférer la table dans le fichier:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "LaTable",
"C:Documents and SettingslouMes documentsFICHEts.xls", True
le nom des champs access sera placé en 1ere ligne du fichier excel,
dernière

feuille active utilisée.
si tu veux vider complètement la feuille, il faut passer par automation
avant de transférer:

Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("Classeur1.XLS")
Set XL_Feuille = XL_Classeur.Sheets("Avril 2005")
With XL_Feuille
.Select
.Rows("1:200").Select
.Selection.Delete Shift:=xlUp
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing

cocher la référence à la librairie excel.

--
@+
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


"lou" a écrit dans le message de news:
4208d818$0$325$
bonjour

j'ai un fichier exel vide (C:Documents and SettingslouMes
documentsFICHEts.xls" ) qui contiens une dizaine de champs nom prenom
etc


etc

je voudrais exporter une table access 2000
dans ce fichier par une requete
si possible effacer son contenu avant (sauf le nom des champs)
en fait le fichier est toujours le meme
comment faire ?
merci pour votre aide













Avatar
lou
oui mais ce systeme ne conviens pas
merci tout de meme


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

Bonjour,

As-tu pensé è liéer ta feuille Excel à ta base et faire une requête de
mise

à jour?

Patrice

"lou" wrote:

merci raymond

pour envoyer les donnees c'est ok mais pour effacer
mais j'ai un bug


Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("Classeur1.XLS")
Set XL_Feuille = XL_Classeur.Sheets("Avril 2005")
With XL_Feuille
.Select
.Rows("1:200").Select
"""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Selection.Delete Shift:=xlUp ici le bug

qui dit propriete ou methode non gerée par cet object


"""""""""""""""""""""""""""""""""""""""""""""""""

End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing

"Raymond [mvp]" a écrit dans le
message de


news:
Bonjour.

Pour transférer la table dans le fichier:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9,
"LaTable",



"C:Documents and SettingslouMes documentsFICHEts.xls", True
le nom des champs access sera placé en 1ere ligne du fichier excel,
dernière

feuille active utilisée.
si tu veux vider complètement la feuille, il faut passer par
automation



avant de transférer:

Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("Classeur1.XLS")
Set XL_Feuille = XL_Classeur.Sheets("Avril 2005")
With XL_Feuille
.Select
.Rows("1:200").Select
.Selection.Delete Shift:=xlUp
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing

cocher la référence à la librairie excel.

--
@+
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


"lou" a écrit dans le message de news:
4208d818$0$325$
bonjour

j'ai un fichier exel vide (C:Documents and SettingslouMes
documentsFICHEts.xls" ) qui contiens une dizaine de champs nom
prenom




etc
etc

je voudrais exporter une table access 2000
dans ce fichier par une requete
si possible effacer son contenu avant (sauf le nom des champs)
en fait le fichier est toujours le meme
comment faire ?
merci pour votre aide















Avatar
Raymond [mvp]
exact , il y a erreur mais ça marchait avant.
je te tiens au courant rapidement.

--
@+
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


"lou" a écrit dans le message de news:
4208ea35$0$22459$
oui mais ce systeme ne conviens pas
merci tout de meme



Avatar
lou
merci raymond
j'attends avec impatience

a+

"Raymond [mvp]" a écrit dans le message de
news: #
exact , il y a erreur mais ça marchait avant.
je te tiens au courant rapidement.

--
@+
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


"lou" a écrit dans le message de news:
4208ea35$0$22459$
oui mais ce systeme ne conviens pas
merci tout de meme







Avatar
Raymond [mvp]
remplace les lignes suivantes :
With XL_Feuille
.Select
.Rows("1:200").Select
.Selection.Delete Shift:=xlUp
End With

par:
With XL_Feuille
.Select
.Rows("1:200").Delete Shift:=xlUp
End With

excuses pour l'erreur.
--
@+
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


"lou" a écrit dans le message de news:
4208f26d$0$2457$
merci raymond
j'attends avec impatience

a+


Avatar
lou
merci raymond

pour l'ecriture ça marche
pour l'effacement aussi

par contre je viens de découvrir un truc etrange

voici
pour ecrire

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "FICHEts",
"C:Documents and SettingslouMes documentsFICHEts.xls", True

crée un fichier et colle les donnéees dans la premiere feuille
ok

poue effacer

Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("C:Documents and SettingslouMes
documentsFICHEts.xls")
Set XL_Feuille = XL_Classeur.Sheets("FICHEts")

With XL_Feuille
.select
.Rows("1:200").Delete Shift:=xlUp
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing

ok

le problemme se passe des que je renvoi de nouveau des données au lieu de
les coller dans la prepiere feuille il crée une deuxiemme feuille et il
copie les données dans la feuille 2

che passa????????

"Raymond [mvp]" a écrit dans le message de
news:
remplace les lignes suivantes :
With XL_Feuille
.Select
.Rows("1:200").Select
.Selection.Delete Shift:=xlUp
End With

par:
With XL_Feuille
.Select
.Rows("1:200").Delete Shift:=xlUp
End With

excuses pour l'erreur.
--
@+
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


"lou" a écrit dans le message de news:
4208f26d$0$2457$
merci raymond
j'attends avec impatience

a+






Avatar
Raymond [mvp]
deux solutions:
soit tu supprimes la feuille et l'export créera une feuille du nom de la
table
supprimer la feuille, évite de vider la feuille:
Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("Classeur1.XLS")
.Worksheets("FICHEts").Delete
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing


soit tu indiques la feuille dans laquelle exporter
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "FICHEts",
"C:Documents and SettingslouMes documentsFICHEts.xls", True, "FICHEts!"

--
@+
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


"lou" a écrit dans le message de news:
42090586$0$12040$
merci raymond

pour l'ecriture ça marche
pour l'effacement aussi

par contre je viens de découvrir un truc etrange

voici
pour ecrire

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "FICHEts",
"C:Documents and SettingslouMes documentsFICHEts.xls", True

crée un fichier et colle les donnéees dans la premiere feuille
ok

poue effacer

Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("C:Documents and SettingslouMes
documentsFICHEts.xls")
Set XL_Feuille = XL_Classeur.Sheets("FICHEts")

With XL_Feuille
.select
.Rows("1:200").Delete Shift:=xlUp
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing

ok

le problemme se passe des que je renvoi de nouveau des données au lieu de
les coller dans la prepiere feuille il crée une deuxiemme feuille et il
copie les données dans la feuille 2

che passa????????

"Raymond [mvp]" a écrit dans le message
de
news:
remplace les lignes suivantes :
With XL_Feuille
.Select
.Rows("1:200").Select
.Selection.Delete Shift:=xlUp
End With

par:
With XL_Feuille
.Select
.Rows("1:200").Delete Shift:=xlUp
End With

excuses pour l'erreur.
--
@+
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


"lou" a écrit dans le message de news:
4208f26d$0$2457$
merci raymond
j'attends avec impatience

a+










Avatar
lou
impecable !
merci Raymond !


"Raymond [mvp]" a écrit dans le message de
news:
deux solutions:
soit tu supprimes la feuille et l'export créera une feuille du nom de la
table
supprimer la feuille, évite de vider la feuille:
Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("Classeur1.XLS")
.Worksheets("FICHEts").Delete
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing


soit tu indiques la feuille dans laquelle exporter
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "FICHEts",
"C:Documents and SettingslouMes documentsFICHEts.xls", True,
"FICHEts!"


--
@+
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


"lou" a écrit dans le message de news:
42090586$0$12040$
merci raymond

pour l'ecriture ça marche
pour l'effacement aussi

par contre je viens de découvrir un truc etrange

voici
pour ecrire

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "FICHEts",
"C:Documents and SettingslouMes documentsFICHEts.xls", True

crée un fichier et colle les donnéees dans la premiere feuille
ok

poue effacer

Dim XL_App As New Excel.Application
Dim XL_Classeur As Object
Dim XL_Feuille As Object
With XL_App
Set XL_Classeur = .Workbooks.Open("C:Documents and SettingslouMes
documentsFICHEts.xls")
Set XL_Feuille = XL_Classeur.Sheets("FICHEts")

With XL_Feuille
.select
.Rows("1:200").Delete Shift:=xlUp
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Set XL_App = Nothing
Set XL_Classeur = Nothing
Set XL_Feuille = Nothing

ok

le problemme se passe des que je renvoi de nouveau des données au lieu
de


les coller dans la prepiere feuille il crée une deuxiemme feuille et il
copie les données dans la feuille 2

che passa????????

"Raymond [mvp]" a écrit dans le
message


de
news:
remplace les lignes suivantes :
With XL_Feuille
.Select
.Rows("1:200").Select
.Selection.Delete Shift:=xlUp
End With

par:
With XL_Feuille
.Select
.Rows("1:200").Delete Shift:=xlUp
End With

excuses pour l'erreur.
--
@+
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


"lou" a écrit dans le message de news:
4208f26d$0$2457$
merci raymond
j'attends avec impatience

a+