Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2011, 14h49   #1
Membre régulier
 
Inscription : novembre 2010
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 151
Points : 89
Points : 89
Par défaut Export requête vers Excel avec choix du dossier

Bonjour,

Je cherche lorsque je clique sur un bouton dans un fomulaire à exporter le résultat de la requête "Membres_commune (table)", qui malgrés son nom est une requête Sélection, vers Excel avec le choix du dossier d'acceuil et du nom du fichier .xls. Le but est ensuite de diffuser le fichier Excel.

Pour le moment, je le réalise à l'aide de la macro "Copie vers" mais cette dernière ne donne pas le choix du dossier d'acceuil ni du nom de dossier.

Comment faire?

Jean-Pierre
jeanpierre78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 21h58   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,

Tu as un code dans la faq, sur le 3ème chapitre de mon tuto sur la recherche
http://loufab.developpez.com/tutorie...recherche3fin/

Le sujet a d'ailleurs été souvent abordé dans le forum (petite recherche).

Une fois celui-ci en place tu peux le compléter avec du code Excel (voir la rubrique Excel)

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 12h17   #3
Membre régulier
 
Inscription : novembre 2010
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 151
Points : 89
Points : 89
Bonjour Loufab,

Merci por la réponse.

J'ai créé la fonction et placé le code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub cmd_Export_Click()
 
     ' crée la table Membres_commune
     DoCmd.OpenQuery "Membres_commune_table"
 
     ' la table Membres_commune ne contient pas d'enregistrement
      If Me.Membres_commune.ListCount = 1 Then
        msgBox "Pas de données à exporter.", vbOKOnly, "Export EXCEL"
        Exit Sub
 
     End If
    ' Exporte vers EXCEL
     lf_Export2EXCEL Me.Membres_commune.RowSource
 
End Sub
sur le bouton.

Mes problèmes, si :
  • je n'ai que DoCmd.OpenQuery "Membres_commune_table" dans le code, la requête s'éxécute.
  • si je place tout le code, la requête ne s'exécute pas et j'ai un message d'erreur sur Me.Membres_commune alors que la table Membres_commune existe.
.

Où est l'erreur?

Jean-Pierre
jeanpierre78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 14h54   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,

Effectivement ça ne peut que planter !

Le copier/coller bête et méchant ne fonctionne pas. En général il faut un minimum adapter le code fourni ou au minimum comprendre ce que l'on fait.

Me représente un formulaire ou un état (on laisse les classes de coté) Me c'est comme si tu faisais un Forms.NomduForm ou Reports.NomDuReport

Me.NomDeTable n'a aucun sens.

Tu peux à la rigueur faire un

Code :
lf_Export2EXCEL "SELECT * FROM NomDeTable"
Conseil : Lire le chapitre avant de faire un copier/coller.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 19h11   #5
Membre régulier
 
Inscription : novembre 2010
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 151
Points : 89
Points : 89
Bonjour,
Mon objectif était de choisir le dossier d'exportation car la BD peut être déplacée sur des machines dont je ne connais pas la structure. J'ai résolu le problème en sauvegardant le fichier Excel dans le répertoire où se trouve la base de données et en affichant un message qui précise ce répertoire et le nom du fichier. C'est moins élégant mais j'ai trouvé cette solution sur ce forum. Voir le code ci-après :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub btExpMembCom_Click()
 
    On Error GoTo Err_btExpMembCom_Click
    Dim oApp As Object
    Dim NChemin As String
    Dim NFichier As String
 
    NChemin = CurrentProject.path
    NFichier = "Muscu - Listes des membres (commune) " & Format(Now, "yyyy-mm-dd") & ".xls"
 
    msgBox "Le fichier sera sauvegardé dans le répertoire :  " & NChemin & "  sous le nom :  " & NFichier
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Membres_commune_table", NChemin & "\" & NFichier, True
 
Exit_btExpMembCom_Click:
    Exit Sub
 
Err_btExpMembCom_Click:
    msgBox Err.Description
    Resume Exit_btExpMembCom_Click
 
End Sub
De plus j'ai ajouté la date à la fin du nom du fichier.

Jean-Pierre
jeanpierre78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h52.


 
 
 
 
Partenaires

Hébergement Web