Trouver le nom d’une image à partir d’un texte dans une cellule

Bonjour, ☺️

Dans le cadre de recherches pour une entreprise j’ai besoin de mettre le nom d’images dans des cellules.

Les images se trouvent dans un fichier sur mon serveur.

J’ai une colonne avec plein de références j’aimerais que grâce à une macro, Excel aille chercher le nom de l’image comportant dans son nom la référence donnée. Je ne sais pa si c’est possible...😬

Merci pour votre aide

Bonne après midi

Bonjour,

Pour bien comprendre ...

  • - le serveur est un serveur distant ? ou bien il est accessible via l'explorateur windows ?
  • - quel est le type de fichier contenant les images ? est-ce un fichier excel ?

Bonjour,

Le serveur est un serveur distant.

Les images ne sont pas contenues dans le fichier Excel j'aimerais compléter le fichier Excel à l’aide de leur nom mais pas que les images soient dans le fichier

Les images se trouvent dans un fichier sur mon serveur.

ok, mais ma question porte sur le type de fichier du serveur qui contient les images.

Pardon erreur de ma part c’est un dossier sur le serveur qui contient les images

ceci fonctionne très bien chez moi

Option Explicit

' activer Microsoft Shell Controls and Automation
Public Sub Exemple()
    Dim myFolderItem As FolderItem
    Cells.Clear
    Dim i&
    i = 1
    For Each myFolderItem In ftpList("ftp.xxxxx.fr/www", "user", "pwd") ' username: anonymous, password: anonymous
        If myFolderItem.Name Like "*.*" Then Cells(i, 1) = myFolderItem.Name: i = i + 1
    Next
End Sub

Private Function ftpList(strFTPlocation As String, Optional strUser As String, Optional strPassword As String) As FolderItems
    Dim myShell As New Shell
    Dim strConnect As String
    If strUser <> "" Then strConnect = strUser & ":" & strPassword & "@"
    Set ftpList = myShell.Namespace("FTP://" & strConnect & strFTPlocation).Items '("ftp://user:password@ftp.site.com")
End Function

il faut parfois mettre

ftpList("ftp.xxxxx.fr/www", "anonymous", "anonymous")

une fois la liste établie, tu la compares avec la liste des mots-clés

Je ne comprends pas vraiment votre code, je vais essayer de décortiquer tout ça, merci.

Je ne vois pas pour l'instant ce que je dois changer pour que ça fonctionne chez moi.

Bonjour,

Il faut changer ceci :

ftpList("ftp.xxxxx.fr/www", "user", "pwd")

Mais j'ai une autre question ... comment accèdes-tu au serveur ? via ftp (file transfert protocol) ou simplement par l'explorateur de fichier windows ?

J'y accède par l'explorateur de fichier windows

Le serveur est un serveur distant.

je m'étais focalisé sur les ftp à tort

c'est plus simple ... il suffit ensuite de sélectionner les images par leur extension (.png, .jpg, .jpeg, .bmp et d'autres)

24liste-fichier.xlsm (16.08 Ko)

Très bien merci je regarde ça tout de suite, pour les extensions je n'ai que du jpg

J'ai analysé le code, n'y a t'il pas un moyen de mettre directement l'adresse du dossier ? Sans le resélectionner à chaque fois ?

Ensuite je ne comprend pas qu'est ce qui est compté et à quoi correspond la valeur k ? (voir copie de votre code ci dessous)

 If Repertoire.SelectedItems.Count = 0 Then Exit Sub
    MonRepertoire = Repertoire.SelectedItems(1)
    k = 2
    ListeFichiers MonRepertoir

Si je comprend bien le nom de l'image vient remplacer la valeur dans la cellule ? et il est ensuite indiqué la date ?

En plus ma bibliothèque d'image est uniformisée et leur nom également, je m'explique, toutes les images ont leur non sous la forme nom_référence.jpg

Dans mes cellules je n'ai que les références pour retrouver les images, et le nom de l'image doit se placer dans un cellule de la même ligne sans pour autant supprimer la référence

Dans ce cas ...

Bonjour, j'ai pu tester votre code ce matin, quand je le lance j'ai bien un dossier à sélectionner mais ensuite rien ne se passe, est ce qu'il y a des choses à modifier dans le code ou sur le document avant de commencer ? D'après ce que je comprend votre code va juste répertorier des images d'un fichier, ce n'est pas ce que je veux, je souhaite que un nom d'image soit trouvé grâce à une donnée précisée dans une cellule ... Je ne suis pas sure que votre code réponde à ma demande, c'est tout de même très gentil de m'aider

D'après ce que je comprend votre code va juste répertorier des images d'un fichier

Non, les images d'un dossier et non d'un fichier !

Il faut bien commencer par un début ... donc pour le moment, on recherche toutes les images d'un dossier et de ses sous-dossiers. Les images .jpg comme tu le souhaitais. Après on comparera avec la valeur d'une cellule !

Fais le d'abord sur un de tes répertoires perso où tu sais qu'il y a des images .jpg

capture d ecran 769
If Repertoire.SelectedItems.Count= 0 Then

Exit Sub

J'ai lancé le mode pas à pas dans le code, à la ligne exit sub il quitte la propriété alors que j'ai bien sélectionné un fichier et il y a des sous dossier dedans

J'ai bien essayé de faire sur du perso et de créer un dossier test mais rien ne se passe.

Pour mon fichier personnel j'ai trouvé le problème, il fallait quue "*.jpg" soit écrit en majuscule, par contre pour le fichier de l'entreprise il ne passe toujours pas par la boucle.

En rajoutant un else après le exit sub ça passe mieux, mais après il me détecte une erreur sur la ligne

 Cells(k, 1).Value = Split(cheminETnom, "\")(UBound(Split(cheminETnom, "\")))
Rechercher des sujets similaires à "trouver nom image partir texte"