Ouvrir un dossier avec lien incomplet

Bonjour

Je souhaiterai faire une instruction qui ouvre un dossier avec juste le début du nom du dossier mais malheureusement mon instruction plante.. Pouvez vous m'aider ?

Private Sub VALIDER_Click()
Dim txt As String
Dim ret As String

    If CheckBox2.Value = True Then 
    ret = "\\Mes documents\" & TextBox2.Value & " – " & "*"
    txt = Dir(ret, vbDirectory)

   ThisWorkbook.FollowHyperlink txt        

    End If

Bonjour,

retourne le chemin complet du répertoire "Mes documents"

Dim stRep As String
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
stRep = WshShell.SpecialFolders("MyDocuments")

Je ne comprend pas très bien...

et je me suis trompé dans le lien aussi

ci dessous le code initial corrige:

Private Sub VALIDER_Click()
Dim txt As String
Dim ret As String

    If CheckBox2.Value = True Then 
    ret = "P:\Personelle\03 Archives\" & TextBox2.Value & " – " & "*"
    txt = Dir(ret, vbDirectory)

   ThisWorkbook.FollowHyperlink txt        

    End If

et toi le code que tu me demande d'essayer est celui ci ?

Private Sub VALIDER_Click()

Dim stRep As String
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
stRep = WshShell.SpecialFolders("P:\Personelle\03 Archives")

 If CheckBox2.Value = True Then 
    'ret = "P:\Personelle\03 Archives\" & TextBox2.Value & " – " & "*"
   ' txt = Dir(ret, vbDirectory)

   ThisWorkbook.FollowHyperlink stprep        

    End If

help ?

non, en exécutant ce code tel quel (ne rien changer)

la variable stRep prend la valeur du chemin de Mes documents

Sub Test()
Dim stRep As String
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
stRep = WshShell.SpecialFolders("MyDocuments") & "\Mes documents\"
MsgBox stRep
End Sub

Je crois qu'on s'est pas compris..

Je chercher a faire une macro qui ouvre un dossier spécifique qui se trouve dans "P:\Personelle\03 Archives\" à l'interieur de ce dossier se trouve de nombreux sous-dossier commencant tous pas un code à 4 chiffres. Le titre est du type " code - blalabla"

Mon but est de créer une instruction qui lorsqu'on lui donne les 4 chiffres du code (j'ai cree un userform qui demande à l'utilisateur le code) nous ouvre le sous-dossier commencant par ce code.

Pour cela j'ai fais l'instruction suivante mais elle ne marche pas. Je recois le message d'erreur suivant " argument ou appel de procédure incorrect"

Private Sub VALIDER_Click()
Dim txt As String
Dim ret As String

    If CheckBox2.Value = True Then 
    ret = "P:\Personelle\03 Archives\" & TextBox2.Value & " – " & "*"
    txt = Dir(ret, vbDirectory)

   ThisWorkbook.FollowHyperlink txt        

    End If

autre possibilité,

 Dim FD As Office.FileDialog
 Set FD = Application.FileDialog(msoFileDialogFilePicker)
 With FD
  .InitialFileName = "P:\Personelle\03 Archives\" & TextBox2.Value & " –  blalabla" & "\"
  .Show
 End With

Bonjour,

il faut que tu boucles sur tous les fichiers, que tu regardes si c'est un répertoire et s'il rempli le critère :

    Dim Chemin As String, NomRep As String, debut  As String
    debut = "Card*"
    Chemin = "D:\tmp\"
    NomRep = Dir(Chemin, vbDirectory)    ' Premier dossier.
    Do While NomRep <> ""
        If NomRep <> "." And NomRep <> ".." Then
            If (GetAttr(Chemin & NomRep) And vbDirectory) = vbDirectory Then
                If NomRep Like deb Then
                    MsgBox Chemin & NomRep    ' nom du dossier
                    Exit Do
                End If
            End If
        End If
        NomRep = Dir        ' Extrait l'entrée suivante.
    Loop

eric

L'instruction de sebv marche mais il m'ouvre le dossier avec tout les sous dossiers.

Mais il n'ouvre pas le sous dossier commencant par le code à 04 chiffre.

Il ouvre une boite de dialogue "parcourir" cf image

capture

Bonjour slimshady, eriiic, à tous,

slimshady, on ne peut pas utiliser l'astérix.

je crois que tu n'aura pas le choix de boucler sur tous les sous-répertoires, comme eriiic l'a suggéré.

Ouais mais moi je sens le fromage....

Ouais mais moi je sens le fromage....

pourquoi ?

j'ai juste remplacé "Like" par Seach

Sub test()
    Dim Chemin As String, NomRep As String, debut  As String
    debut = TextBox2.Value
    Chemin = "P:\Personelle\03 Archives\"
    NomRep = Dir(Chemin, vbDirectory)    ' Premier dossier.
   Do While NomRep <> ""
        If NomRep <> "." And NomRep <> ".." Then
            If (GetAttr(Chemin & NomRep) And vbDirectory) = vbDirectory Then
                If Not (IsError(Application.Search(debut, NomRep))) Then
                    MsgBox Chemin & NomRep    ' nom du dossier
                   Exit Do
                End If
            End If
        End If
        NomRep = Dir        ' Extrait l'entrée suivante.
   Loop
End Sub

pourquoi ?

Ce n'était pas pour toi, mais pour slimshady qui m'a magistralement snobé

Pas sûr que search soit plus simple que like mais pourquoi pas.

ta solution fonctionne très bien merci eriic

Bonsoir à tous

je me permet de répondre suite au dernier message de SabV (de la première page du post)

j'ai personnellement cette ligne de code qui permet de renvoyer le chemin complet d'un sous dossier connaissant une partie du nom de ce sous dossier : (en l’occurrence, un sous dossier par client avec au début la date de création et à la fin un autre critère)

dossier = Dir(schemin & "*" & client & "*", vbDirectory)

a adapter en conséquence

Fred

Bonjour à tous,

fred2406, merci pour ce tuyau, ça fonctionne parfaitement avec 2 étoiles, je garde sous le bras

Bien vu oui, je n'aurais pas osé

sabV, je pense que tu t'en es douté mais 2 * ça doit être pour contient. Pour 'commence par' il faudrait : client & "*"

mais 2 * ça doit être pour contient

ben oui, comme on dit dans mon coin de pays, je voguais dans la brume

Rechercher des sujets similaires à "ouvrir dossier lien incomplet"