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

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 !

bonjpur
pour le fun avec getopenfilename puisque l'on decide du titre dela barre on a pas de mal a le retrouver
VB:
Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function ShowWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal nCmdShow As Long) As Long

Sub test()
    Dim Mesfichier As Variant
    mesfichiers = selectedlistfile
    For I = 1 To UBound(mesfichiers)
        MsgBox mesfichiers(I)
    Next
End Sub

Function selectedlistfile()
    Application.OnTime Now + 0.00002, "Dialogfullscreen" 'ouverture un !! ou !!! plusieurs !! fichiers en gardant la touche control appuyée
    Dim fichier As Variant, I&, OK As Boolean, t ' variables
    'ouverture du dialog
    fichier = Application.GetOpenFilename("Image JpG (*.jpg;*.jprg), *.jpg;*.jpeg", 1, "CHOISIR UN OU DES FICHIERS", , True)
    If IsArray(fichier) Then ' si multi selection
        MsgBox UBound(fichier)
        selectedlistfile = fichier
    Else 'sinon si il y a qu'une photo
        If fichier = False Then Exit Function ' si click sur annuler ou fermeture par croix
        selectedlistfile = Array(fichier)
    End If
End Function

Sub Dialogfullscreen()
    Dim hwnd As LongPtr
    hwnd = FindWindow(vbNullString, "CHOISIR UN OU DES FICHIERS")
    ShowWindow hwnd, 3
End Sub
demo1.gif
 
Dernière édition:
bonjpur
pour le fun avec getopenfilename puisque l'on decide du titre dela barre on a pas de mal a le retrouver
VB:
Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function ShowWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal nCmdShow As Long) As Long

Sub test()
    Dim Mesfichier As Variant
    mesfichiers = selectedlistfile
    For I = 1 To UBound(mesfichiers)
        MsgBox mesfichiers(I)
    Next
End Sub

Function selectedlistfile()
    Application.OnTime Now + 0.00002, "Dialogfullscreen" 'ouverture un !! ou !!! plusieurs !! fichiers en gardant la touche control appuyée
    Dim fichier As Variant, I&, OK As Boolean, t ' variables
    'ouverture du dialog
    fichier = Application.GetOpenFilename("Image JpG (*.jpg;*.jprg), *.jpg;*.jpeg", 1, "CHOISIR UN OU DES FICHIERS", , True)
    If IsArray(fichier) Then ' si multi selection
        MsgBox UBound(fichier)
        selectedlistfile = fichier
    Else 'sinon si il y a qu'une photo
        If fichier = False Then Exit Function ' si click sur annuler ou fermeture par croix
        selectedlistfile = Array(fichier)
    End If
End Function

Sub Dialogfullscreen()
    Dim hwnd As LongPtr
    hwnd = FindWindow(vbNullString, "CHOISIR UN OU DES FICHIERS")
    ShowWindow hwnd, 3
End Sub
Regarde la pièce jointe 1207163
Bonjour @patricktoulon ,
Ca fonctionne également.
Daniel
 
Bonjour le fil,
@danielco , si l'utilisation d'Excel ne vous est pas imposée, ce n'est vraiment pas l'outil adéquat pour votre besoin.
Il existe des applications de type visionneuse photos gratuites sur la toile, vous avez peut-être eu lors d'un achat d'appareil photo (Reflex), un CD avec leur visionneuse maison qui permet d'afficher en mosaïque, les photos d'un répertoire, de leur attribuer un classement, de sélectionner les photos d'un classement et ensuite de les copier dans un autre répertoire.
Sinon, l'explorateur est également un bon outil :
- Créez un répertoire temporaire de Sélection (TS) dans lequel vous aurez copié toutes les photos du répertoire source.
- Ouvrez en pleine page le répertoire TS en mode grandes incones et supprimez toutes les photos à ne pas copier.
- Copier - Coller toutes les photos du répertoire TS dans le répertoire de destination
- Supprimer le répertoire TS
 
Je suis obligé de me servir d'Excel parce que je renomme les photos. Je copie les photos de plusieurs dossiers dans le même répertoire. le nom des fichiers dans chaque dossier va de 01.JPG à 36.JPG (anciennes pellicules argentiques). D'où télescopage si je fais des copies simples.
Daniel
 
Hello,
y a peut être moyen d'adapter le classeur de crocrocro . 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.
Ami calmant, J.P
 
- 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

Réponses
5
Affichages
144
Retour