Export Table Access vers Excel

Messages postés
70
Date d'inscription
mercredi 24 septembre 2003
Statut
Membre
Dernière intervention
20 mars 2007
-
Messages postés
70
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
2 mai 2007
-
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

Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
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
Messages postés
70
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
2 mai 2007

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