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 :

Ouverture d'un dossier via vba [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Février 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Février 2015
    Messages : 126
    Par défaut Ouverture d'un dossier via vba
    Bonjour, j'ai actuellement un userform qui me permet de rechercher des valeurs dans mon tableau .
    Aujourd'hui, je lui ai rajouté une fonction permettant, que lorsque qu'un double clic est effectué sur , par exemple, la ligne 2 qui correspond à l'HYD2 , il m'ouvre le fichier correspondant.
    Mon problème aujourd'hui, c'est qu'il m'ouvre bien le dossier , mais en petit et lorsque que je double clic sur une photo , ou un fichier pdf , ou un fichier world, ect. Il me ferme cette fenêtre au lieu d'ouvrir le fichier voulu...
    Voici le code de la partie double-clic :
    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
    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'au double-clic dans la ListBox1
    Dim I As Integer 'déclare la variable I (Incrément)
    Dim J As Integer 'déclare la variable J (Incrément)
    Dim LeParcours As String
     
    For I = 0 To Me.ListBox1.ListCount - 1 'Boucle 1 : sur toutes les lignes de la ListBox1
     
        If Me.ListBox1.Selected(I) = True Then 'condition 1 : si la ligne est sélectionnée
            For J = 2 To NL 'boucle 2 : sur toutes les lignes du tabelau TC
                If TC(J, 2) = Me.ListBox1.Column(1, I) Then 'condition 2 : si les numéros de HYD sont égaux
                    O.Rows(J).Select 'sélecionne la ligne J de l'onglet O
                    Unload Me
                    LeParcours = Me.ListBox1.Column(1, I)
    ChDir "C:\Users\prive\Dropbox\HYD2014\HYD" & LeParcours & "/"
    Application.GetOpenFilename
                     'vide et ferme l'Usersorm
     
     
     
     
                    Exit Sub 'sort de la procédure
                End If 'fin de la condition 2
            Next J 'prochaine ligne de la boucle 2
        End If 'fin de la condition 1
    Next I 'prochaine ligne de la boucle 1
     
    End Sub
    Merci à vous ! :p
    Cordialement

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Bonsoir

    As-tu essayé par ce biais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    With Application.FileDialog(msoFileDialogFilePicker)
        .InitialFileName = "C:\Users\prive\Dropbox\HYD2014\HYD" & LeParcours & "\"
        .AllowMultiSelect = True
        .Filters.Clear
        .Filters.Add "Tous les fichiers", "*.*"
        .Title = "Choisissez vos fichiers à ouvrir"
        .Show
     
        For i = 1 To .SelectedItems.Count
            ActiveWorkbook.FollowHyperlink .SelectedItems(i)
        Next i
    End With
    ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Février 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Février 2015
    Messages : 126
    Par défaut
    Bonjour quentin,
    merci pour ta réponse, mais les 3 dernières ligne ne fonctionnent pas , (
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 To .SelectedItems.Count
            ActiveWorkbook.FollowHyperlink .SelectedItems(i)
        Next i
    )
    Cordialement

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Bizarre !

    Chez moi cela fonctionne parfaitement... L'as-tu bien laissé entre le With et End With ?
    Ou peut-être que sous Office 2013 ça ne fonctionne plus (J'utilise 2010).

    Si tu ne sélectionnes aucun fichier, cela ne fait rien, si tu en sélectionnes au moins un, ça va les ouvrir l'un après l'autre.

    Je vais essayer d'y réfléchir.

    Quand tu dis que ça ne fonctionne pas, ça te fait une erreur ? Si oui, laquelle ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Février 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage

    Informations forums :
    Inscription : Février 2015
    Messages : 126
    Par défaut
    En fait, je ne veux pas ouvrir un fichier , je veux ouvrir l'explorateur Windows , comme si j'allais voir un dossier , je ne veux pas ouvrir de fichier en particulier, mais un dossier ..
    J'ai essayé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    LeParcours = Me.ListBox1.Column(1, I)
            Dim Chemin As String
     
         Chemin = "C:\Users\prive\Dropbox\HYD2014\HYD" & LeParcours & "/"
        Shell Chemin, vbMaximizedFocus
    Mais une erreur parviens : Erreur d'exécution "5" , argument ou appel de procédure incorrecte .


    Merci de ton aide :p !

    C'est bon , j'ai trouvé !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     LeParcours = Me.ListBox1.Column(1, I)
                    Chemin = "C:\Users\prive\Dropbox\HYD2014\HYD" & LeParcours
               Application.DisplayFullScreen = False
           Dim objShell As Shell
     Set objShell = New Shell
     objShell.Explore (Chemin)
    Merci de ton aide :p !

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Aah ok Pour ouvrir le dossier, si tu as déjà le lien, pourquoi ne pas faire 'simplement' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Chemin = "C:\Users\emmanuel-baigne\Dropbox\HYD2014\HYD" & LeParcours & "/"
    ActiveWorkbook.FollowHyperlink Chemin
    Après, si tu veux choisir le(s) dossier(s) à ouvrir dans la macro, alors tu peux utiliser le même code que j'ai envoyé plus tôt avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = "C:\Users\prive\Dropbox\HYD2014\HYD" & LeParcours & "\"
        .AllowMultiSelect = True
        .Title = "Choisissez vos dossier à ouvrir"
        .Show
     
        For i = 1 To .SelectedItems.Count
            ActiveWorkbook.FollowHyperlink .SelectedItems(i)
        Next i
     
    End With
    Après, rien ne t'empêche d'utiliser le FileDialog pour les dossiers (ci-dessus) et juste de récupérer les chemins à l'aide du .SelectedItems(i) et les ouvrir avec des Shells Comme tu veux !

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

Discussions similaires

  1. [XL-2010] Ouverture d'un répertoire via VBA
    Par zielite dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 27/10/2014, 11h47
  2. [AC-2000] ouverture d'un fichier PDF via VBA
    Par etoileetoile dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/10/2009, 21h06
  3. Import d'une table temp et ouverture formulaire via VBA
    Par Access_ible dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/09/2009, 11h44
  4. [AC-2007] Ouverture d'une requête via VBA
    Par Oliv'83 dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/06/2009, 14h50
  5. [E-03] Ouverture d'un dossier Réseau via Macro
    Par ted the Ors dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/01/2009, 11h28

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