Importer des photos depuis un dossier puis les renommer

Bonjour à tous,

j'importe grâce à une macro des photos depuis un dossier vers des cellules en fonction des noms de personnes listés dans la feuille excel (le nom est sous la photo qui apparaît).

Je voudrais renommer cette photo avec le nom inscrit dans la cellule en dessous de la photo.

Je ne parviens pas à le faire, n'arrivant notamment pas à comprendre comment sélectionner la photo venant d'être créée.

Quelqu'un aurait-il un conseil pour me débloquer, s'il vous plaît ?

Voici ci-dessous le code que j'utilise (et qui fonctionne très bien pour importer les photos en fonction du nom inscrit dans la cellule du dessous) :

Sub Import_Photos_Eleves_2()

Dim Chemin As String
Dim Cell As Range
Dim Pic As Picture

Application.ScreenUpdating = False

With Application.FileDialog(msoFileDialogFolderPicker)
    If .Show = -1 Then
     Chemin = .SelectedItems(1)
        Else
        Exit Sub
    End If
End With

For Each Cell In Range("g1:j1,g7:j7")
Cell.Select
ActiveSheet.Shapes.AddPicture Filename:=(Chemin & "\" & ActiveCell.Offset(1, 0).Value), linktofile:=msoFalse, savewithdocument:=msoTrue, Left:=Cell.Left, Top:=Cell.Top, Width:=(Cell.Height * 5) * 400 / 600, Height:=Cell.Height * 5
Next

For Each Pic In ActiveSheet.Pictures
Pic.Select
Selection.Placement = xlMoveAndSize
Next

Range("A1").Select

End Sub

Merci d'avance !

Bonjour,

ric

Bonsoir,

Voici le fichier !

Bonjour,

Désolé si le délai a été un peu long ...

Si j'ai bien compris ta demande ...

- L'on importe les photos dont les noms sont dans la colonne "A" ...
- Au besoin > l'on change les noms écrits dans la colonne "A" afin de pouvoir renommer la photo dans le dossier de photos ...
- Le bouton "Renommer" va renommer les photos dans le dossier ...

Le déroulement ...

- Au début de l'importation > les photos dans la feuille sont supprimées avant l'importation ...

- Si une photo n'est pas trouvée > l'image "PasPhoto.jpg" > si présente dans le dossier > sera affichée à la place ...

- Le bouton "Effacer Photos" reste opérationnel pour effacer les photos de la feuille ...

- Si toutes les photos sont des .jpg > l'on pourrait placer l'extension directement dans le code au lieu de l'écrire à la fin du nom dans la feuille ...

Dans le fichier joint > j'ai ajouté l'image "PasPhoto.jpg" > place-là dans le/les dossiers des photos ...

NOTE : Afin de pouvoir renommer les photos > il faut connaître l'ancien nom de la photo et son chemin après avoir changé ce nom de la colonne "A" ...
Donc > au moment de l'importation des photos > je fais écrire le nom et le chemin de la photo dans la colonne "B" > écrit en blanc pour les masquer ...

ric

33francha62.zip (48.28 Ko)

Bonjour,

merci beaucoup pour la réponse.

Cependant ce n'est pas exactement ce que je souhaite obtenir. Je vais essayer d'être plus clair :

J'importe des photos depuis un dossier en fonction du nom de la personne qui est inscrit dans une cellule (par exemple G2). La macro fait en sorte que l'image soit créée et apparaisse juste au-dessus de la cellule en question. Ca ça marche. Mais je voudrais que la macro me permettre de renommer l'image créée dans la feuille de façon à ce qu'elle ne s'appelle plus "Image 1" mais qu'elle porte le nom de la personne "Durand Jean" (qui est donc inscrit dans la cellule).

Bonjour,

Désolé si je n'ai pas bien compris ta demande ...

Pour renommer l'image ...

            ' importer la photo
         Set S = ActiveSheet.Shapes.AddPicture(chemin & Photo, linktofile:=msoFalse, savewithdocument:=msoTrue, _
                        Left:=Cell.Offset(-3, 1).Left, Top:=Cell.Offset(-3, 1).Top, Width:=99, Height:=99)

            S.Name = Cell.Value  ' renommer la photo selon le nom dans la cellule
 

ric

Merci beaucoup !

ric

Rechercher des sujets similaires à "importer photos dossier puis renommer"