Macro pour ouvrir un repertoire

didus

XLDnaute Occasionnel
Bonjour à tous,
Voilà, je viens déjà de passer pas mal de temps pour trouver réponse à ma question, sans résultat
plus précisément:
j'ai une liste de chemin réseau contenant l'arborescence complète et le nom de fichier
chaque chemin dans une cellule
je souhaiterai pouvoir ouvrir le répertoire réseau (comme si le nom de fichier n'était pas inscrit)
toutes mes opérations se soldent soit par une erreur soit par le lancement du programme utilisé par le fichier pour être exécuté

j'ai essayé
sNomFichier = "c:\windows\explorer.exe " + ActiveCell
Shell sNomFichier, vbMaximizedFocus

ou
sNomFichier = ActiveCell
ThisWorkbook.FollowHyperlink sNomFichier

je pense qu'une fonction simple peut être utilisée pour le faire mais je n'ai pas trouvé
un exemple de cellule :
\\DS213P-SYNOIR-2\Music\Karaoke\kar et midi\R\Regg'lyss\Il Suffirait De Presque Rien.mid

avec
\\DS213P-SYNOIR-2\Music\Karaoke\kar et midi\R\Regg'lyss\
tout marche et si je sais gérer une recherche de caractère pour, par exemple enlever le nom de fichier dans une fonction, je ne sais pas le faire par macro...

j’espère avoir été clair
merci d'avance
Cordialement
 

Lone-wolf

XLDnaute Barbatruc
Bonjour didus

Je ne sais pas si j'ai bien compris, fait un essai avec ceci (Macro de Staple1600).

VB:
Sub Ouvrir_Repertoire()
Dim wsSh As Object, chemin$
Set wsSh = CreateObject("WScript.Shell")
chemin = "C:\Users\didus\"
wsSh.Run chemin
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

@Le Fil
J'ai peut-être commis cette macro un soir de pleine lune, ou un jour de pluie mais jamais pour titiller du fichier *.mid au motif qu'Excel est avant un tout tableur, pas un orchestre ou un logiciel de Karaoké ;)

Quitte à ouvrir, autant se faire plaisir avec un one-liner ;)
Code:
Sub Ouvrir_Repertoire_B()
CreateObject("WScript.Shell").Run "C:\Users\didus"
End Sub

@Lone-wolf
Why 2 x " ?
 
Dernière édition:

didus

XLDnaute Occasionnel
Merci pour vos retours,
Je pense que je n'ai pas été clair dans ma demande,
je ne souhaite pas lancer un fichier, j'aimerai juste pouvoir ouvrir l'explorateur à l'endroit où se situe le fichier.
Tout mon petit bazard à pour but d'éradiquer des doublons en me laissant la main sur quel fichier supprimer, je le supprime à partir
d'une extraction soit de façon unitaire soit en liste
mais parfois je souhaite aller sur place et voir l'ensemble d'un répertoire et quand l'arborescence est longue c'est fastidieux, je cherche à le faire en un clic...

je vous joint mon fichier avec 150 lignes, j'ai souvent 10000 lignes à traiter

je laisse toutes mes petites macros qui pourront être utiles à d'autres peut être, mon besoin est le bouton "ouvrir répertoire" bien sur

Cordialement
 

Pièces jointes

  • suppression doublon auto NAS.xlsm
    47.9 KB · Affichages: 41

didus

XLDnaute Occasionnel
Bonjour et merci de vos réponses,

En effet comme les codes que j'ai déjà pu utiliser, les vôtres ouvrent un répertoire, si et seulement si le nom de fichier ne figure pas au bout du chemin, auquel cas c'est le programme qui lance le fichier qui est exécuté comme je le signale dans mon premier post.
mes lignes sont extraites comme ça avec le nom le fichier, nom de fichier qui m'est par ailleurs utile,
j'ai donc trois solutions:
- une commande qui ouvre le répertoire avec toutes les infos contenues dans ma ligne d'adresse
- une macro qui trouve et traduit la ligne en ôtant le nom de fichier, puis en lançant une des macros proposées
- ouvrir le répertoire manuellement comme je le fais maintenant
et ma demande dans le forum était pour fonctionner sur une des deux premières possibilités

Je sais donc comment ouvrir un répertoire automatiquement les deux macros citées dans mon premier post le font très bien également, ce que je ne sais pas faire c'est ouvrir automatiquement un répertoire à partir de mes données...

Encore merci de vos réponses mais, Staple, le titre de la discussion ne peut pas être aussi complet que la question sous-jacente.

Cordialement
 

Lone-wolf

XLDnaute Barbatruc
Bonjour didus, Jean Marie :)

À mettre dans le module de la feuille. Nom de la colonne à modifier au cas où.

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim chemin$
    If Not Intersect(Target, Columns("A:A")) Is Nothing  Then
        chemin = ActiveCell.Value
        CreateObject("WScript.Shell").Run chemin
    End If
    Cancel = True
End Sub
 

didus

XLDnaute Occasionnel
Bonsoir et merci Lone wolf pour cette nouvelle proposition, j’espère avoir bien positionné le code.
Je me retrouve avec cette erreur lorsque je double clic dans une cellule de la colonne :
erreur macro.png
erreur macro1.png

Ce serait dommage de prendre davantage de votre temps pour une demande somme toute de confort, je peux enlever le nom de fichier à la main et ouvrir ensuite le répertoire, c'est une solution intermédiaire dont je peux me suffire, en tous cas merci pour vos propositions.
Bonne nuit à tous
 

Lone-wolf

XLDnaute Barbatruc
Bonjour didus, le Forum :)

Est-ce que tu peux me montrer ce que tu as écrit dans la cellule? Moi j'ai fait un test et je n'ai pas eu ce problème. Sinon essaie ceci

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim chemin$
    If Not Intersect(Target, Columns("A:A")) Is Nothing Then
        chemin = ActiveCell.Value
        Shell "C:\windows\explorer.exe " & chemin, vbNormalFocus
    End If
    Cancel = True
End Sub
 
Dernière édition:

didus

XLDnaute Occasionnel
Bonjour à tous,
Encore merci de votre présence
- réponse à la question Lone wolf,

quelques lignes mais il y a d'autres fichiers avec toutes les extensions possibles
\\DS213P-SYNOIR-2\Music\Karaoke\kar et midi\E\Eagl+C2e Eye Cherry\Witchy Woman_3.kar
\\DS213P-SYNOIR-2\Music\Karaoke\kar et midi\E\Eagles\Witchy Woman_3.kar
\\DS213P-SYNOIR-2\Music\Karaoke\kar et midi\E\Eagle Eye Cherry\Witchy Woman2.kar
\\DS213P-SYNOIR-2\Music\Karaoke\kar et midi\E\Eagles\Witchy Woman2.kar
\\DS213P-SYNOIR-2\Music\Karaoke\kar et midi\J\Jonasz Michel\Supernana.kar
\\DS213P-SYNOIR-2\Music\Karaoke\kar et midi\M\Mich\Supernana.kar
\\DS213P-SYNOIR-2\Music\Karaoke\kar et midi\C\Clasch\Mozart_W.KAR
\\DS213P-SYNOIR-2\Music\Karaoke\kar et midi\C\Classics\Mozart_W.KAR
info sup: 1 clic lance le fichier parfois quand la ligne est reconnue comme un lien, en bleu et soulignée (quelques unes...)

Avec ton nouveau code il ne se passe rien à l'écran (qd je double clic sur une cellule comme ci dessus)

Cordialement
 

didus

XLDnaute Occasionnel
Bonjour MJ13,
je viens de tester ton code et au début je ne voyais rien se passer jusqu'à ce que je découvre
dans les colonnes vides en F et G les noms de fichier et chemin contenant le répertoire uniquement,
j'ai tenté de comprendre le code, il n'y a pourtant pas beaucoup de lignes... sans résultat
mais je réessaierai avec un peu de documentation car je trouve ça vraiment magique, au boulot j'ai pas mal programmé avec de l'aide issue
d'internet ou de forums et me suis rendu compte que tout ce qui pouvait être imaginé était possible...

merci pour cette réalisation, je peux donc ouvrir le répertoire en me positionnant sur la nouvelle colonne
ou adapter ton code pour qu'il me fasse cette traduction localement, sur une cellule au moment oportun
Quand je l'aurai assimilé bien sur, en tous cas ça me convient bien

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 899
Membres
103 404
dernier inscrit
sultan87