Macro export access vers excel avec proposition chemin

Résolu
benziz -  
Funky76600 Messages postés 19 Statut Membre -
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

3 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. Funky76600 Messages postés 19 Statut Membre
       

      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
  2. benziz
     
    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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. krimsaha
       
      Très très belle fonction !! et qui fonctionne...
      gg^^
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      merci, bon WE
      0