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 :

VBA-Excel, boite de dialogue "sélectionner un dossier"


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    Par défaut VBA-Excel, boite de dialogue "sélectionner un dossier"
    bonjour
    en surfant sur le net afin de rechercher des info sur la possibilité de créé un script qui permette créer une boîte de dialogue permettant de sélectionner un dossier ou un fichier, j'ai trouvé un code qui marche trés bien mais j'aimerai comprendre le code parceque je n'y comprend rien la.
    voici le code :



    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    Function ChoixDossierFichier(SelType As Byte) As String
         Dim objShell As Object, objFolder As Object
         Dim Chemin As String, Msg As String
         Dim FlagChoix As Long, NbPoint As Integer
     
         If SelType = 0 Then
              FlagChoix = &H1
              Msg = "Sélectionner un dossier :"
         Else
              FlagChoix = &H4000
              Msg = "Sélectionner un fichier :"
         End If
     
         Set objShell = CreateObject("Shell.Application")
         ' &h1
    ' 1er paramètre toujours 0 (zéro). Il représente le handle de la fenêtre parent
         ' &h1
    ' 2ème paramètre Titre de la boite, en dessous de la barre de titre
         ' &h1
    ' 3ème paramètre options de BrowseForFolder
         ' &h1
    ' 4ème paramètre Facultatif. Répertoire de début d'exploration
         On Error Resume Next
         Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
         ' &h1
    'Si l 'objet retourné est valide, on teste son contenu (item.title)
         'Si on a sélectionné la racine d'une partition, il se compose du nom de la partition,
         ' suivi de sa lettre et ":" entre parenthèses
         NbPoint = InStr(objFolder.Title, ":")
         If NbPoint = 0 Then
              ' &h1
    'Sinon, il se compose du nom du dossier uniquement, sans le chemin précédent
              'On récupère ce chemin à l'aide des propriété et méthode ParentFolder.ParseName
              Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).path & ""
         Else
              ' &h1
    ' si racine on récupère la lettre du lecteur et les 2 points
              Chemin = Mid(objFolder.Title, NbPoint - 1, 2)
         End If
         ChoixDossierFichier = Chemin
    End Function
    il y a plusieur ligne que je ne comprend pas comme par exemple :
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
    Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).path & ""

    a quoi sert CreateObject() et a quoi correspond Shell.Application
    a quoi correspond BrowseForFolder(&H0&, Msg, FlagChoix)?....

    auriez vous un site qui explique en détail cela, car je ne sais pas ou chercher sur internet pour trouver un site qui traite de ça??

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Tu as regardé dans l'aide en ligne si tu avait des infos sur les différents trucs que tu comprend pas ?

  3. #3
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Set objShell = CreateObject("Shell.Application")
    Instanciation d'un objet objShell

    Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
    Utilisation de la méthode BrowseForFolder de l'objet objShell pour ouvrir la boite de dialogue.

    Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).path & ""
    Récupération du chemin du fichier sélectionné par la méthode ParseName ...

Discussions similaires

  1. [VBA-E] boite de dialogue palette de couleur
    Par virginie2 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 02/04/2017, 15h20
  2. Boite de dialogue pour sélectionner un dossier
    Par mnawrocki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/07/2008, 15h21
  3. [vba-Excel]Boite de Dialogue et chemin
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/07/2007, 12h29
  4. [VBA] Paramètres boite de dialogue Excel
    Par seb.kepka dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/01/2006, 11h19
  5. [Excel] boite de dialogue
    Par libititi dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/04/2005, 16h06

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