Macro export access vers excel avec proposition chemin

Résolu/Fermé
benziz - 5 mai 2011 à 19:20
Funky76600 Messages postés 19 Date d'inscription dimanche 4 septembre 2022 Statut Membre Dernière intervention 24 janvier 2023 - 9 sept. 2022 à 17:59
Bonjour,

actuellement, j'utilise dans access une macro "transfertfeuillecacul" pour transférer les données d'une requête vers excel.Ca fonctionne correctement mais le problème est que je voudrais que lors du lancement de la macro, l'utilisateur aie le choix du chemin où il désire enregistrer le classeur ce qui est impossible avec la macro "transfertfeuillecacul" qui demande obligatoirement un chemin de destination.

Merci pour votre aide


A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
6 mai 2011 à 10:01
Bonjour

fonction à mettre dans unmodule

Function recherchedossier()
'Auteurs: @+thierry_xld et michel_m
Dim ObjShell As Object, ObjFolder As Object
Dim Message As String
Dim Chemin As String
    
Message = "Faire la Sélection du Repertoire de sauvegarde:"

Set ObjShell = CreateObject("Shell.Application")
Set ObjFolder = ObjShell.BrowseForFolder(&H0&, Message, 1)
    
    On Error Resume Next 'Si on sort sans sélection
    Chemin = ObjFolder.ParentFolder.ParseName(ObjFolder.Title).Path & ""
    recherchedossier = Chemin
End Function

0
Funky76600 Messages postés 19 Date d'inscription dimanche 4 septembre 2022 Statut Membre Dernière intervention 24 janvier 2023
9 sept. 2022 à 17:59

Bonjour, 

J'ai essayé votre macro, je ne sais pas si je fais mal, mais après le choix de répertoire elle bloque.

je suis sous office 2016. Est-il possible de m'aider.

Merci

Cordialement :)

0
Bonjour à tous et merci Michel pour ton aide,

je ne suis pas un pro d'access et VBA mais comment lancer le module?
Comment lancer ce module?J'ai créé une macro ouvrirmodule mais le nom du module n'est pas reconnu.

Je crois qu'il me manque quelques bases pour le VBA j'ai du mal avec ce code.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 6/05/2011 à 23:17
il faut que tu ailles dans visual basic (sur 2007: outils base de donnée)ou + facilement par Alt+F11 ou <2007 outils-macro-visual basic editeur

Ctl+R pour voir le projet
insertion- module
et tu fais un copier-coller de la fonction

après tu demandes la fonction dans ta procédure (tu vas retrouver dans modules de classes objet dans le bouton (ou autre) qui déclenche ta macro et tu insères recherchedossier certainement au départ avant l'insertion dans xl

un exemple où on jouait de la musique en cherchant le répertoire où se trouve le fichier "vieux_tel" puis en appelant une macro "jouerwav"

dans le module de classe objet
Private Sub Commande6_Click() 
destination = recherchedossier 
Call jouer_wav(destination & "\" & "vieux_tel.wav") 
End Sub


dans le module 1
Option Compare Database
Private Declare Function PlaySound32 Lib "winmm.dll" Alias "PlaySoundA" (ByVal IpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long

Sub jouer_wav(fichier)
    Call PlaySound32(fichier, 0&, &H1)
End Sub

Function recherchedossier()
'Auteurs: @+thierry_xld et michel_m
Dim ObjShell As Object, ObjFolder As Object
ect....
End Function


Michel
0
Très très belle fonction !! et qui fonctionne...
gg^^
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
1 juil. 2011 à 11:28
merci, bon WE
0