Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Re:Exporter une table vers excel

1 réponse
Avatar
Pierre
Bonsoir et merci pour vos réponses,

Mais en fait, exporter vers Excel, qu'il s'agisse d'une table ou d'une
requête
n'est pas le problème.

Je pense qu'il faudrait passer par du code pour écrire un programme qui
génèrerait automatiquement un fichier excel par lot (la rupture s'effectuant
sur le champ numéro de lot de ma table client).

J'ai déjà vu écrit un tel programme par le passé : il s'agissait d'une table
de souscripteurs dont on générait un fichier souscripteurs par pays (rupture
sur le code pays), avec un nom explicite en sortie pour chaque fichier du
genre "FRAsous.xls, ITAsous.xls, ..." .

Hélàs, je suis bien incapable de retrouver ce type de programme. Et j'avoue
que cela me rendrait aujourd'hui bien service, au lieu de devoir éclater
moi-même l'excel des clients.

Cordialement à tous.

Pierre

"Dan" <service.informatique@ville-riorges.fr> a écrit dans le message de
news:418f2749$0$18878$8fcfb975@news.wanadoo.fr...
> "RaphK34" <nospampizza.mpl@tiscali.fr> a écrit dans le message de news:
> O15jj7RxEHA.2676@TK2MSFTNGP12.phx.gbl...
> > Bsoir,
> >
> > Je pense, que je créerai une requête création de table, qui me créerait
> une table pour chaque lot, puis j'utiliserai la méthode:
> >
> > DoCmd.TransferSpreadsheet
> >
> > Il ya peut être plus simple, mais à cette heure tardive ...
> >
> > --
> > --------------------------------------------
> > Merci de répondre sur le NG
> > Toutes remarques bienvenues !
> >
> > Pour un contact direct, utiliser:
> > nospampizza.mpl@tiscali.fr en enlevant nospam.
> > --------------------------------------------
> >
> > "Pierre" <pmbidal@club-internet.fr> a écrit dans le message de news:
> 418ea983$0$15753$7a628cd7@news.club-internet.fr...
> > | Bonsoir,
> > |
> > | Dans une base Access, j'ai une table contenant une liste de clients.
> Pour
> > | cette "table client", chaque client est rattaché à un numéro de lot.
> > |
> > | Je souhaiterais exporter cette table des clients vers excel, mais en
la
> > | scindant en autant de fichiers qu'il y a de lots différents dans ma
> table.
> > |
> > | Comment automatiser cet export pour que les fichiers des lots clients
> soient
> > | automatiquement générés vers excel ?
> > |
> > | Merci de vos conseils ou solutions.
> > |
> > | Pierre
> > |
> > |
> >
>
>
> On doit pouvoir exporter une requête... ce qui évite l'étape de création
de
> table dans la solution de Pierre...
>
> A+ Dan
>
>

1 réponse

Avatar
Jessy Sempere [MVP]
Bonjour

Voilà ce que je ferais...

Tu créer un recordset correspondant à tes lots :

dim rst as dao.recordset
set rst = currentdb.openrecordset ("select * from tableLOT")

Ensuite tu boucles sur tous les enregistrements de ton recordset.

Dans la boucles, tu créer un second recordset correspondant à tous les
clients
du lot en question :

set rst2 = currentdb.openrecordset ("select * from client where lot = '" &
rst.fields("Lot") & "'")
Du coup tu mets à jour tes fichiers en utilisant l'automation Excel

Exemple plus ou moins complet :


Function CreateLot()

Dim rst As DAO.Recordset
Dim rst2 As DAO.Recordset
Dim strRst As String
Dim strRst2 As String

strRst = "Select * From TableLot;"
Set rst = CurrentDb.OpenRecordset(strRst, dbOpenDynaset)
With rst
If Not .BOF Then
.MoveFirst
Do Until .EOF
'** {là tu creerpar automation ton fichier lot}
strRst2 = "Select * From TableClient " _
& "Where Lot = '" & .Fields("Lot") & "';"
Set rst2 = CurrentDb.OpenRecordset(strRst2, dbOpenDynaset)
With rst2
If Not .BOF Then
.MoveFirst
Do Until .EOF
'** {là tu mets à jour par automation ton
fichier}
.MoveNext
Loop
End If
End With
rst.Close: Set rst2 = Nothing
.MoveNext
Loop
End If
End With
rst.Close: Set rst = Nothing
End Function

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Pierre" a écrit dans le message news:
41906719$0$15755$
Bonsoir et merci pour vos réponses,

Mais en fait, exporter vers Excel, qu'il s'agisse d'une table ou d'une
requête
n'est pas le problème.

Je pense qu'il faudrait passer par du code pour écrire un programme qui
génèrerait automatiquement un fichier excel par lot (la rupture
s'effectuant

sur le champ numéro de lot de ma table client).

J'ai déjà vu écrit un tel programme par le passé : il s'agissait d'une
table

de souscripteurs dont on générait un fichier souscripteurs par pays
(rupture

sur le code pays), avec un nom explicite en sortie pour chaque fichier du
genre "FRAsous.xls, ITAsous.xls, ..." .

Hélàs, je suis bien incapable de retrouver ce type de programme. Et
j'avoue

que cela me rendrait aujourd'hui bien service, au lieu de devoir éclater
moi-même l'excel des clients.

Cordialement à tous.

Pierre