Import de données dans Excel

Bonjour,

Dans un répertoire de mon disque dur, j'ai une liste d'image (une centaine) dont chacune est définie par un nom. Je souhaite importer tous ces noms dans Excel (mais juste les noms sans les images). Pour éviter de tout ressaisir.

En attentes de vos astuces.

@ Bientôt

Dadams

Hello

Voir la macro dans le fichier ...

Merci Steelson, c'est bien vu !

Je pensais qu'il existait une méthode sans passer par un macro VBA...

Est-il possible d'importer directement les noms sans l'extension ? (.jpg) dans mon cas ?

Sinon je traiterai l'import avec une formule, type DROITE().

@bientôt

Dadams

Bonjour toutes et tous bon week end

à tester

Note : Supprime l'extension .jpg dans la colonne D (sub extension appel de la procédure par call)

EDIT : j'pense qu'il existe pour supprimer tout types d'extensions (.jpeg,.png etc.)

Option Explicit
Sub select_repertoire()
    Dim MonRepertoire As String
    Dim Repertoire As FileDialog
    Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
    Repertoire.Show
    If Repertoire.SelectedItems.Count > 0 Then
        MonRepertoire = Repertoire.SelectedItems(1)
    End If
    ListeFichiers MonRepertoire
    MsgBox "Fin de la recherche ..."
End Sub
Sub ListeFichiers(Repertoire As String)
Dim Fso, SourceFolder, SubFolder, fichier As Object
Dim k As Integer

    If Repertoire = "" Then
        MsgBox " Choisissez le répertoire !"
        Exit Sub
    End If

    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = Fso.GetFolder(Repertoire)

    ' boucle sur tous les fichiers du répertoire
    For Each fichier In SourceFolder.Files

        k = Range("A65534").End(xlUp).Row + 1
        Range("A" & k).Select
        ActiveCell.Value = Repertoire & "\" & fichier.Name
        ActiveCell.Offset(0, 1).Value = Repertoire
        ActiveCell.Offset(0, 2).Value = fichier.Name
        ActiveCell.Offset(0, 3).Value = FileLen(Repertoire & "\" & fichier.Name)
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(k, 1), Address:=Repertoire & "\" & fichier.Name

    Next fichier

    ' appel récursif pour les sous-répertoires
    For Each SubFolder In SourceFolder.subfolders
        ListeFichiers SubFolder.Path
    Next SubFolder
     Call extension
End Sub

Sub extension()

    Columns("C:C").Select
    Selection.Replace What:=".JPG", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

cdrlt,

André

Dadams51 a écrit :

Merci Steelson, c'est bien vu !

Je pensais qu'il existait une méthode sans passer par un macro VBA...

Hé non !

Dadams51 a écrit :

Est-il possible d'importer directement les noms sans l'extension ? (.jpg) dans mon cas ?

si tu bricoles un peu VBA, teste si l'extension est .jpg ou .JPG ou .jpeg ou .JPEG et met le fichier sans extension

supprime aussi ce qui est superflu pour toi

il s'agit ici d'un outil générique que je m'étais créé

Merci andre également !

Tout cela fonctionne très bien.

Quand on importe avec l'extension, on peut la supprimer avec cette formule (que vous connaissiez sûrement !)

=GAUCHE (C1; CHERCHE(" ";C1)-1)

Sujet soldé !

@bientôt

Rechercher des sujets similaires à "import donnees"