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

Microsoft 365 VBA - Lister les photos sélectées dans l'Explorateur Windows

danielco

XLDnaute Accro
Bonjour,

Je cherche une procédure me permettant de lister et de recopier les phots sélectionnées dans l'Explorateur de fichiers.

Merci d'avance.

Daniel
 

crocrocro

XLDnaute Occasionnel
Bonjour @jurassic pork
Au lieu de sélectionner un répertoire et de prendre toutes ses images , on sélectionne les photos qui nous intéressent et on les mets avec le chemin complet et on fait cela pour tous les répertoires qui nous intéressent.
La multi-sélection est active dans mon fichier.
L'adaptation à faire si Daniel reste sur cette option, serait de ne pas réinitialiser le tableau à chaque "Sélectionner" et de stocker pour chaque image son nom long et non son nom court?
 

jurassic pork

XLDnaute Occasionnel
oui c'est cela , j'ai fait vite fait un essai en modifiant le SelectionnerFichiers :
VB:
Sub SelectionnerFichiers()
Dim i As Integer, MesFichiers As Collection, Fichier
Dim RegEx As Object, matches As Object
On Error Resume Next
Set RegEx = CreateObject("VBScript.RegExp")
RegEx.Pattern = ".*\\(.*)\\(.*)$"
RegEx.Global = True
    Sheets("Menu").Select
    Set MesFichiers = ChoixFichiers()
    Init
    'Set Fso = CreateObject("Scripting.FileSystemObject")
    'Set FsoFolder = Fso.GetFolder(Repertoire) '
    i = 1 + DerLig
    For Each Fichier In MesFichiers
        i = i + 1
        Set matches = RegEx.Execute(Fichier)
        Cells(i, 1) = Fichier
        Cells(i, 2) = matches(0).submatches(0) + "_" + matches(0).submatches(1)
     Next
    Set MesFichiers = Nothing
    DerLig = i - 1
End Sub
Avec ChoixFichiers :
Code:
Function ChoixFichiers() As Collection
    Dim x As Integer
    Set ChoixFichiers = New Collection
    If Val(Application.Version) >= 10 Then
       With Application.FileDialog(msoFileDialogFilePicker)
       ' Indiquer le chemin complet du dossier par défaut
        .InitialFileName = "C:\Users\" & Environ("username") & "\Documents\"
        .Show
        For x = 1 To .SelectedItems.Count
           ChoixFichiers.Add .SelectedItems(x)
        Next x
       End With
     End If
End Function

Dans cet essai je renomme les fichiers avec le nom du répertoire dans lequel se trouve les fichiers en préfixe

 

crocrocro

XLDnaute Occasionnel
Oui, mais là, tu renommes manuellement photo par photo. Mon système le fait automatiquement en ajoutant le nom du dossier avant celui de la photo.
Daniel
@danielco, Non, l'application ZoomBrowserEX de Canon que je donne en exemple (et ce n'est qu'un exemple d'application) renomme tous les fichiers sélectionnés à l'étape 1 "sélectionner les images". Mais le choix est assez réduit.
 

AR MOR

XLDnaute Nouveau
Bonjour,

Je cherche une procédure me permettant de lister et de recopier les phots sélectionnées dans l'Explorateur de fichiers.

Merci d'avance.

Daniel
Bonjour,
Je ne sais si je vais pouvoir être utile, mais je joins un Classeur qui fait des trucs dont tu pourras peut-être tirer qq chose

Il est beaucoup en désordre, car ce n'était qu'une bidouille dans ma construction d'une autre apli

Amicalement en espérant
 

Pièces jointes

  • VISUA.xlsm
    39 KB · Affichages: 1
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Oui, mais là, tu renommes manuellement photo par photo. Mon système le fait automatiquement en ajoutant le nom du dossier avant celui de la photo.
Juste pour info : pour renommer des fichiers par lot, tu as un excellent soft : Bulk Rename Utility qui permet d'ajouter le nom du dossier en préfix.


Ceci dit, si tu te fais ta macro sur mesure, elle fera exactement ce que tu veux comme tu veux.
 
Dernière édition:

Discussions similaires

Réponses
10
Affichages
604
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…