Bonsoir Lapou, le Forum
Arf, on peut pratiquement tout faire avec VBA, même ceci !
Le code que je t'ai concocté ci dessous générera l'insertion sur la feuille active de tous les objects "JPG" sous forme d'Icones avec nom du Fichier, de tous les JPEG contenus dans le répertoire mis en constante...
Option Explicit
Const ThePath As String = "C:\Documents and Settings\te\My Documents\"
Const TheExe As String = "C:\Program Files\Common Files\Microsoft Shared\PhotoEd\PHOTOED.EXE"
Dim TheRow As Integer
Sub ScanDirectory()
Dim File As Variant
Dim TheFile As String
TheRow = 1
With Application.FileSearch
.NewSearch
.Filename = "*.JPG"
.LookIn = ThePath
.Execute
.SearchSubFolders = False
For Each File In .FoundFiles
TheFile = File
InsertOLEObjects TheFile
TheRow = TheRow + 4
Next File
End With
ActiveSheet.Shapes.SelectAll
Selection.ShapeRange.Align msoAlignLefts, False
Range("A1").Select
End Sub
Sub InsertOLEObjects(TheFile As String)
Dim SName As String
SName = ShortName(TheFile)
With ActiveSheet
.OLEObjects.Add(Filename:=TheFile, _
Link:=False, _
DisplayAsIcon:=True, _
IconFileName:=TheExe, _
IconIndex:=0, _
IconLabel:=SName).Select
Selection.ShapeRange.IncrementTop (.Range("B" & TheRow).Top)
Range("A1").Select
End With
End Sub
Function ShortName(ByVal TheFullPath As String) As String
Dim Container As Variant, Item As Variant
Container = Split(TheFullPath, "\")
ShortName = Container(UBound(Container))
End Function
Je pense que tu seras content...
Bonne Soirée
@+Thierry