IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

browseforfolder n'aboutit pas


Sujet :

IHM

  1. #1
    Membre du Club
    Femme Profil pro
    Ingénieur environnement
    Inscrit en
    Septembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur environnement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 90
    Points : 68
    Points
    68
    Par défaut browseforfolder n'aboutit pas
    Bonjour ,

    J'ai trouvé un bout de code dans la FAQ que j'ai adapté. Je cherche à récupérer le chemin d'accès à certains fichiers et j'ai écrit ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub import1_Click()
     
       Dim objShell As Object, objFolder As Object, oFolderItem As Object
        Dim Chem As String    
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)    
        On Error Resume Next
        Set oFolderItem = objFolder.Items.Item
        Chem = oFolderItem.Path & "\"    
        MsgBox Chem
     
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "table1", Chem & "resultat.xls", True
     
    End Sub
    Malheureusement, le "Chem" n'est pas répercuté dans ma ligne 'Docmd' alors que le Msgbox me donne bien le chemin......

    Aurais-je oublié une ligne de commande ??

    d'avance merci !!!

    Mumu64

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 765
    Points
    7 765
    Par défaut
    Bonjour,

    Le code fonctionne chez moi.

    Mets
    après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Chem = oFolderItem.Path & "\"
    pour vérifier s'il n'y a pas un autre problème.

    Par exemple si Table1 existe mais que les champs du fichier "resultat.xls" ne sont pas les mêmes (noms différents) il y aura une erreur.

    empêche de voir cette erreur si on ne met pas
    avant DoCmd.TransferSpreadsheet

    A+

  3. #3
    Membre du Club
    Femme Profil pro
    Ingénieur environnement
    Inscrit en
    Septembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur environnement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 90
    Points : 68
    Points
    68
    Par défaut
    Salut LedZeppII,

    Effectivement, le fait de rajouter
    m'a permis de trouver d'où venait mon erreur ! Dans ma question j'ai simplifié le code mais à un moment je précise la date et il y avait un 'oups' à ce niveau.

    Je te remercie pour le coup de main !!!

    A +

    Mumu64

  4. #4
    Membre du Club
    Femme Profil pro
    Ingénieur environnement
    Inscrit en
    Septembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur environnement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 90
    Points : 68
    Points
    68
    Par défaut
    Si je peux me permettre une autre question.....
    Quand je clique sur annuler dans la boîte de dialogue du choix du répertoire, celui-ci annule le choix du chemin mais en prend un par défaut (mes documents) sans arrêter le code.
    Est-il possible de stopper le code en appuyant sur annuler ??

    D'avance merci !

    mumu64

  5. #5
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 765
    Points
    7 765
    Par défaut
    Bonjour,

    Quand l'utilisateur clique sur Annuler la variable objet objFolder reste à Nothing.
    On peut ...
    • Quitter la Sub si objFolder est Nothing
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
          Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)
          If objFolder Is Nothing Then
             MsgBox "Opération annulée"
             Exit Sub
          End If
          MsgBox Chem
    • N'exécuter le code qui récupère le chemin que si objFolder n'est pas Nothing et tester plus loin le contenu de la variable Chem
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
          Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)
          If Not (objFolder Is Nothing) Then
             Set oFolderItem = objFolder.Items.Item
             Chem = oFolderItem.Path & "\"
          End If
          If Len(Chem) = 0 Then
             MsgBox "Opération annulée"
             Exit Sub
          End If
          MsgBox Chem

    Remarque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Set oFolderItem = objFolder.Items.Item
        Chem = oFolderItem.Path & "\"
    Ne fonctionne pas (génère une erreur) si le dossier est vide.
    Moi je fais comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Chem = objFolder.Self.Path & "\"
    A+

  6. #6
    Membre du Club
    Femme Profil pro
    Ingénieur environnement
    Inscrit en
    Septembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur environnement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 90
    Points : 68
    Points
    68
    Par défaut
    Salut,

    Je te remercie pour ces précisions, je teste tout ça demain et je te tiens au courant !

    @ +

    Mumu64

  7. #7
    Membre du Club
    Femme Profil pro
    Ingénieur environnement
    Inscrit en
    Septembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur environnement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 90
    Points : 68
    Points
    68
    Par défaut
    Salut LedZeppII,

    ça marche super bien !!!!! c'est génial !
    Merci d'avoir pris le temps de répondre !

    @ +

    Mumu64

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SELECT MATCH AGAINST n'aboutit pas
    Par ctobini dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/02/2008, 19h16
  2. Réponses: 2
    Dernier message: 23/03/2007, 10h44
  3. Réponses: 4
    Dernier message: 23/08/2006, 18h31
  4. [ASE][T-SQL] Requete qui n'aboutit pas
    Par metheorn dans le forum Sybase
    Réponses: 4
    Dernier message: 06/07/2006, 11h56
  5. [mySQL]Requete qui prend 100 % du CPU et n'aboutit pas
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 20
    Dernier message: 12/10/2005, 09h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo