Je crois que tout est dit dans l'objet de mon message. Je n'ai pas l'habitude de poster des messages, je m'en sors souvent avec l'aide VBA et les réponses déjà existantes sur les forums, mais là je bloque.
Je souhaite insérer automatiquement (par le code) une image déjà insérée dans le fichier excel. La commande "LoadPicture" ne semble traiter que les fichiers d'image sur le DD ce qui me pose problème en cas d'utilisation de ce fichier sur plusieurs PC (et donc de plusieurs arborescence).
Est-ce que cela est possible ? Bien que cela ne me semble pas hors du commun comme demande, je finis par douter...
Merci de votre aide.
A voir également:
Insérer une image déjà dans le fichier Excel dans une UserForm
J'ai trouvé une solution, en passant par un graphique temporaire pour l'enregistrement d'une image. En effet, il n'existe pas de propriété pour l'enregistrement direct d'une image contenu dans Excel... Le code à adapter enregistre toutes les images de la feuil1 :
Sub SaveAllPictures()
Dim Pict As Picture
Dim Chemin As String
For Each Pict In Worksheets("Feuil1").Pictures
Pict.CopyPicture
With Worksheets("Feuil1")
With .ChartObjects.Add(0, 0, Pict.Width, Pict.Height).Chart
.Paste
Chemin = ThisWorkbook.Path & "" & Pict.Name & ".PNG"
.Export Filename:=Chemin, FilterName:="PNG"
End With
.ChartObjects(.ChartObjects.Count).Delete
End With
Next Pict
End Sub
Il reste dans l'userform1 à charger les images, avec LoadPicture et le chemin+nom correspondant.
Pas clair... Où sont les images ? Sur le DD ou dans Excel ? comment et où sont elles insérées dans Excel ?
Dire : "Les photos sont repris "shapes" dans une macro..." est un peu obscure... Est-ce que tu veux dire que tu utilises le menu Insertion>images>A partir du fichier ? et ensuite, dans une Userform, tu voudrais la voir apparaître ? Si oui, alors, utiliser directement LoadPicture que tu disais est la solution... en clair je ne vois pas où est ta problématique ?
Merci pour ta réponse, j'ai bien essayer avec les exemples repris dans l'exemple, mais cela fonctionne avec des objets de type graphique, et non des photos comme cela est le cas dans mon exemple.
Les photos sont repris "shapes" dans une macro...
Si vous pouvez m'aider dans cette démarche, je suis preneur.
Pierre.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Excuse-moi, je suis pas super clair...
Les photos sont sur une feuille du fichier Excel (pas sur le DD).
Je souhaite pouvoir donner ce fichier à n'importe qui avec les photos déjà insérées sur les feuilles.
Ainsi, une macro lancerait une UserForm avec une des photos reprise sur la UserForm (en fonction de plusieurs paramètres), etc...
Je te remercie car cela fonctionne et c'est effectivement un bon palliatif à ce que je souhaitais atteindre...
Dommage qu'il n'existe pas de fonction plus simple et plus directe...