VBA ouverture dossier

Bonjour à tous,

J'utilise actuellement le code ci-dessous pour ouvrir le dossier dans lequel se trouve mon fichier Excel, ça marche très bien mais j'aimerais l'améliorer si cela est possible.

J'aimerais que lorsque j'active cette macro, si le dossier est d'ores et déjà ouvert, qu'il soit sélectionné et non pas que le dossier soit ouvert une nouvelle fois.

Si quelqu'un a quelque chose je suis preneur, merci et bonne journée

Camille

Dim Lien As String
Lien = ActiveWorkbook.Path & "\"

ActiveWorkbook.FollowHyperlink Lien

Bonjour

J'aimerais que lorsque j'active cette macro, si le dossier est d'ores et déjà ouvert, qu'il soit sélectionné et non pas que le dossier soit ouvert une nouvelle fois.

Si vous êtes avec VBA évitez les liens Hypertexte pour accéder en dehors de votre fichier.
Quel est le but final ? Ouvrir un dossier particulier pour choisir le fichier à ouvrir ou ouvrir toujours le même fichier dans un dossier

L'objectif final est d'ouvrir le dossier dans lequel se trouve mon fichier Excel pour ouvrir un autre fichier qui peut être un Excel, un pdf, un word...

Re,

Regardez ce lien https://forum.excel-pratique.com/s/goto/299387 et prenez le code qu'il suffit de relier à un bouton ou votre lien

Si ok -->

Rem : Ce serait bien de cloturer aussi vos fils ouverts. Vous ne les fermez jamais de ce que je peux voir ici --> https://forum.excel-pratique.com/membre/70459

Bonjour,

Je viens de tester le code ci-dessous :

Dim Fichier As String
Fichier = ActiveWorkbook.Path & "\"
Shell "explorer.exe /e," & Fichier, vbNormalFocus

Ça m'ouvre bien le dossier dans lequel se trouve mon classeur Excel, cependant si le dossier est déjà ouvert la macro me l'ouvre une seconde fois. J'aimerais que le dossier soit sélectionné et non ouvert une seconde fois.

Pourriez-vous m'indiquer quelle est la manip pour clôturer un sujet ?

Merci par avance et bon week-end,

Camille

Bonjour

Essayez comme ceci :

Sub test()
Dim Fichier As String
Dim oShell As Object
Dim Wind As Object
Dim isopen As Boolean

Set oShell = CreateObject("Shell.Application")

For Each Wind In oShell.Windows
    If Wind.Name = "Explorateur de fichiers" Then
       If Wind.Document.Folder.Self.Path = ThisWorkbook.Path Then
            isopen = True
       End If
    End If
Next Wind
If isopen = True Then MsgBox "Le répertoire déjà ouvert": Exit Sub

Fichier = Application.GetOpenFilename
oShell.Open (Fichier)
End Sub

Cordialement

image

La macro me propose de sélectionner un dossier pour l'ouvrir (cf. imprim écran) mais ne m'ouvre pas le dossier dans lequel se trouve mon classeur.

Camille

Hum... vous avez tout dans les réponses
Un petit test de votre coté que vous auriez pu faire

remplacez

Fichier = Application.GetOpenFilename

par ce que je vous donné dans mon post précédent

Fichier = ActiveWorkbook.Path & "\"

Bonjour,

Effectivement vous m'avez tout donné, je suis nul.

Merci c'est parfait ! :)

Bonne journée,

Camille

Rechercher des sujets similaires à "vba ouverture dossier"