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

Macros et VBA Excel Discussion :

Souci ouverture explorateur [XL-2002]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Billets dans le blog
    1
    Par défaut Souci ouverture explorateur
    Bonjour,
    dans un de mes programmes je voudrais faire apparaitre l'explorateur Windows et je ne sais pas si c'est faisable ou non?
    Quelqu'un pourrait-il m'aider?
    Je précise que je voudrais ouvrir l'explorateur et non pas la boite de dialogue Ouvrir car je voudrais simplement que la personne puisse vérifié l'existence d'un dossier ou non...
    A moins que je puisse faire cette vérification moi même automatiquement...

    Merci

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Avec VBA on peut faire beaucoup de chose, le mieux serait que tu précises ce que tu voudrais faire exactement, ensuite tu pourras adapter.

    Parce que je suis sympa, je te donne un exemple pour tester l'existence d'un répertoire à adapter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    sub unexemple ()
     
    Dim RepSource As String
        If Not DossierExiste(RepSource, True) Then
            MsgBox "Le repertoire " & RepSource & " n'existe pas."
            Exit Sub
        End If
    end sub
    Function DossierExiste(ByRef NomDossier As String, BchoixR As Boolean) As Boolean
    DossierExiste = Dir(NomDossier, vbDirectory) <> ""
     
    If DossierExiste Then:       Exit Function:
     
    Dim libdos As String
    If Not NomDossier = Empty Then
        libdos = "[Le dossier " & NomDossier & " n'existe pas !]"
    End If
     
    If BchoixR = True Then
        Dim Dossier As FileDialog
        Set Dossier = Application.FileDialog(msoFileDialogFolderPicker)
        With Dossier: .AllowMultiSelect = False
            .InitialFileName = CurDir
            .Title = "Choix du dossier" & libdos
            If .Show = -1 Then: NomDossier = .SelectedItems(1) & "\": DossierExiste = True:
        End With
    End If
     
    End Function
    Nb: Attention Repsource sera modifié après l'appel de la fonction

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Billets dans le blog
    1
    Par défaut
    Merci pour cette première esquisse..
    Je fais le test et vous tient au courant.
    Par contre que veux tu dire par :
    Nb: Attention Repsource sera modifié après l'appel de la fonction

    Merci

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Dans l'exemple que je t'ai donné, on appelle la fonction DossierExiste avec la variable RepSource qui contient le nom du repertoire.

    Dans la fonction "ByRef NomDossier As String" signifie que l'on passe la variable par référence, donc si la variable NomDossier est modifiée dans la fonction RepSource sera modifié au retour de la fonction, j'ai fait ça afin de pouvoir modifier directement le nom du repertoire trouvé.
    En géneral on prefère travailler ByVal ce qui ne modifie pas la variable, par exemple on appele une fonction qui retourne un string et on modifie ensuite :

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    NouveauNom = DossierExiste(RepSource, True)
    if NouveauNom > '' then
    '....
     
    Function DossierExiste(ByVal NomDossier As String, BchoixR As Boolean) As String
    '....

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour Phal2, aalex
    si je me permet de proposer, une discussion similaire http://www.developpez.net/forums/d80...rcher-dossier/

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Billets dans le blog
    1
    Par défaut
    Merci à tous ça marche à merveille

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

Discussions similaires

  1. [AC-2010] Ouverture explorateurs d'objets par bouton avec mot de passe
    Par fmailys dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/12/2012, 10h31
  2. [XL-2007] Ouverture explorateur de fichier
    Par jackall dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/08/2009, 14h49
  3. Connexion auto à l'ouverture explorateur fichier
    Par jlvalentin dans le forum Windows XP
    Réponses: 29
    Dernier message: 07/07/2006, 11h47
  4. Pb avec ouverture explorateur
    Par xycoco dans le forum Access
    Réponses: 1
    Dernier message: 28/09/2005, 14h03
  5. Petit soucis ouverture OpenGl
    Par xtremax3 dans le forum OpenGL
    Réponses: 1
    Dernier message: 04/03/2005, 14h10

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