Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 A propos de la francisation de Shell.application

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fanch55

XLDnaute Barbatruc
Bonjour à toute la communauté,
Ci-dessous une sub qui me titille fortement : 😕
VB:
Sub Test_Vidéo()
    Set objFolder = CreateObject("Shell.Application").Namespace(&HE)
    Dossier = objFolder.self.Path
    fichier = objFolder.GetDetailsOf(objFolder.Items.Item(1), 191)
    Set objFolder = Nothing
    MsgBox "mon dossier Windows est " & Dossier & vbLf & "Le 1er fichier/dossier est  " & fichier
End Sub
Cette sub récupère des infos du 1er fichier ou dossier dans le dossier "Mes Vidéos" ( par exemple)
Je suis dubitatif sur la justesse du résultat retourné, je suis resté un sacré moment pour savoir pourquoi je n'arrivai pas à exploiter ce fichier ,
avant de m'apercevoir que Vidéo était en fait Video ( sans l'accent ...) 😵

Ceci pour Info ...
 
Bonjour Fanch55,
Je viens de tester ton code chez moi.
Le répertoire est bien trouvé mais pas de fichier. Portant j'ai bien des fichiers

Suite exécution macro

Est-ce du au fait qu'il y ai des sous-dossiers ???
A creuser
@+ Lolote83
 
Bonjour Fanch, Lolote,
Le chemin "réel" du dossier est en C:/Users/xxx/Video ( sans accent, c'est en anglais )
Le fichier cherché est en C:/Utilisateur/xxx/Vidéos, ça ne correspond pas au chemin réel du dossier, mais simplement à la traduction dans l'explorateur.
Le chemin du premier fichier est C:/Users/xxx/Video/toto.jpg.
 
Re, Bonjour Chti,
Un essai qui semble marcher :
Code:
Sub Test_Vidéo()
    Set objFolder = CreateObject("Shell.Application").Namespace(&HE)
    Dossier = objFolder.self.Path & "\"
    MsgBox "mon dossier Windows est " & Dossier & vbLf & "Le 1er fichier/dossier est  " & Dir(Dossier)
End Sub
 
Merci à tous de votre participation .
Un classeur pour illustrer le propos, le code est dans la feuille Infos.
Cliquer sur l’Icône dossier.
Attention au nombre max d'items et d’Éléments à scanner, les temps d'exécution en sont dépendants .

Ce que je voulais souligner, c'est que même avec des moyens aussi "sérieux" que le GetDetailsOf,
on peut avoir des informations erronées tout au moins dans le nom des dossiers dits spéciaux .
Cette information est par la suite inexploitable car on ne trouve pas le fichier et pour cause ....

Donc si on fait une liste des fichiers avec Shell.application dans le genre ci-dessous:
VB:
    Mondir = &HE
    Set objFolder = CreateObject("Shell.Application").Namespace(Mondir)
        For Each File In objFolder.Items
            Info = objFolder.GetDetailsOf(File, 194)
        Next
    Set objFolder = Nothing

Il ne faut pas se fier au GetDetailsOf(File, 194),
mais plutôt au File.Path ...

Tiens, pour le fun, j'ai fait le test sur le dossier Downloads, cela corrobore bien ce fait ...
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…