Export Table Access vers Excel

laurent92370 Messages postés 70 Date d'inscription mercredi 24 septembre 2003 Statut Membre Dernière intervention 20 mars 2007 - 11 sept. 2006 à 10:33
sifflet_ Messages postés 70 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 2 mai 2007 - 11 sept. 2006 à 10:40
Bonjour

Sur ce code suivant :

Set db = OpenDatabase(App.path & "\datas.mdb")
Xl.Application.DisplayAlerts = False
Xl.Workbooks.Add


sql = "select * from detailsgroupes order by nom, jour, hdebut, mdebut "
Set rst = db.OpenRecordset(sql, dbOpenSnapshot)
 
With rst
    .MoveFirst
    Do Until rst.EOF        sql2 "SELECT * FROM adherents WHERE gp1 '" & rst!ref & "' OR gp2 = '" & rst!ref & "' OR gp3 = '" & rst!ref & "' "
        Set rst2 = db.OpenRecordset(sql2, dbOpenSnapshot)
           
            Xl.Cells.Range("a1") = rst!nom
            Xl.Cells.Range("b2") = rst!jour
            Xl.Cells.Range("c3") = rst!hdebut & "H" & rst!mdebut
            Xl.Cells.Range("d4") = rst2!nom
            Xl.Cells.Range("e4") = rst2!prenom
            Xl.Cells.Range("f4") = rst2!naissance
            Xl.Cells.Range("g4") = rst2!teldomicile
            Xl.Cells.Range("h4") = rst2!certificat
           
        .MoveNext
    Loop
End With


Xl.Visible = True
Set Xl = Nothing

j'arrive à afficher des infos dans Exce avec le nom du groupe en cellule a1, le jour en b2, heure en c3 .....
Mais toutes les infos s'affichent dans les meme cellules, et je voudrais savoir comment faire dans excel pour avoir les toutes les infos. Exemple :

Actuellment j'ai :


<colgroup>
<col style=\"WIDTH: 60pt\" span=\"8\" width=\"80\" />
</colgroup>

----

PERFECTIONNEMENT,

,

,

,

,

,

,

----

,
Mercredi,

,

,

,

,

,

,

----

,

,
19H00,

,

,

,

,

,

----

,

,

,
BIALOT,
ALICE,
22/06/1991,
102030406,
OUI


et il me faudrait :

<colgroup><col style=\"WIDTH: 53pt; mso-width-source: userset; mso-width-alt: 2596\" width=\"71\" /><col style=\"WIDTH: 94pt; mso-width-source: userset; mso-width-alt: 4571\" width=\"125\" /><col style=\"WIDTH: 80pt; mso-width-source: userset; mso-width-alt: 3913\" width=\"107\" /><col style=\"WIDTH: 60pt\" span=\"4\" width=\"80\" /></colgroup>----
ADOS, , , , , , , ----
, Mercredi - 18H15, , , , , , ----
, , BOUQUEREL, MARGOT, 21/07/1992, 101010101, NON, ----
, , CARETTE, MELANIE, 08/02/1994, 101010101, OUI, ----
, , , , , , , ----
CLUB, , , , , , , ----
, Tlj - H, , , , , , ----
, , ARAGON, HELENE, 01/01/1992, 148853214, OUI, ----
, , CHERIER, ELOISE, 27/12/1993, 143971110, NON, ----
, , DIANA, MARINE, 18/05/1992, 148853317, OUI, ----
, , DUCHEMIN, GWENAËLLE, 02/11/1993, 155972918, OUI, ----
, , DUHEM, CYRIL, 30/10/1965, 148834268, NON, ----
, , DUHEM, MARGAUX, 17/01/1993, 148834268, OUI, ----
, , KIRCHNER, JULIE, 19/03/1994, 145118357, OUI, ----
, , LBAZ, SARAH, 03/06/1994, 148894954, OUI

Il me manque la boucle pour afficher les infos dans un ligne excel bien distincte sans avoir à préciser le nom de la cellule.
Merci de votre aide.

2 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
11 sept. 2006 à 10:40
Ma question est toute simple : Pourquoi gérer cet import ou export (ça dépend de quel logiciel tu pars) d'ACCES vers EXCEL via un code de ce genre, alors qu'il suffit d'utiliser DoCmd.TransferSpreadsheet (toutes les options sont dans l'aide) à partir d'ACCESS ou le Menu Données\Données externes\Importer pour créer une liaison dans EXCEL ?

C'est bien plus simple et pratique, et si j'ai bien compris ta demande, ça te fera exactement ce que tu cherches.

Molenn
0
sifflet_ Messages postés 70 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 2 mai 2007
11 sept. 2006 à 10:40
Salut!

tu ajoutes une variable integer qui commence à 4 et que t'incrémente à
chaque MoveNext. Et après tu la mets à la place de ton numéro de
cellule, genre:


            Xl.Cells.Range("f" & intLine) = rst2!naissance

            Xl.Cells.Range("g" & intLine ) = rst2!teldomicile

            Xl.Cells.Range("h" & intLine) = rst2!certificat


Salut A+

Sifflet
0
Rejoignez-nous