Bonjour David1976,
Pour commencer, pensez à définir vos variables
Pour l'insertion de votre image, vous utilisez ce code
Sub Insérerimage()
ChDir "D:\Test\images"
Fname = Application.GetOpenFilename(FileFilter:="Picture Files (*.gif;*.jpg;*.jpeg;*.bmp),*.gif;*.jpg;*.jpeg;*.bmp", Title:="Select Picture")
If Fname <> "" Then
Set im = ActiveSheet.Pictures.Insert(Fname)
End If
End Sub
ChDir est la commande pour changer de repertoire courrant, mais ne force pas l'instruction GetOpenFileName à aller dedans, puisque cette instruction ne propose pas le chemin par défaut
Utilisez plutôt cette fonction
Function ChoixFichier(DefaultPath As String, sTitre As String, Optional sFilter As String)
' Le filtre doit être du type : "Fichier Excel (*.xlsx), *.xlsx"
Dim fd As FileDialog, TabFilter() As String
' Initialiser les variables
If Right(DefaultPath, 1) <> "\" Then DefaultPath = DefaultPath & "\"
' Initialiser l'intance du dialogue
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Filters.Clear
' Si un filtre a été donné
If sFilter <> "" Then
TabFilter = Split(sFilter, ",")
.Filters.Add TabFilter(0), Trim(TabFilter(1))
End If
.Title = sTitre
.InitialFileName = DefaultPath
If .Show = -1 Then
ChoixFichier = fd.SelectedItems(1)
End If
End With
Set fd = Nothing
End Function
A+