Bonsoir Eole-33,
L'export te dissocie le texte et la photo. Parce que ton code ne recherche que des images.
For Each Pict In Worksheets("Feuil1").Pictures
etc...
Donc il ne récupèrera que les images et non le textbox même si celui est placé sur l'image.
Ce qui fait ressortir son texte puisqu'il est placé "prioritaire" par rapport à celle-ci.
Si tu souhaites garder cette manière de faire (bien qu'il y a d'autres façons) je te propose de modifier ta macro.
Il faudra auparavant réunir le TextBox et l'image en les sélectionnant ensemble puis par clic droit choisir Grouper.
Ce qui va créer un Groupe que tu pourras renommer si besoin. Voir photo ci-après.
Et pour cibler ce groupe la macro adaptée ci-dessous. En passant par Shape
Sub copie_images()
Dim Pict As Shape
Dim chrt As ChartObject
For Each Pict In Worksheets("Feuil1").Shapes
Pict.CopyPicture
W = Pict.Width
H = Pict.Height
Set chrt = ActiveSheet.ChartObjects.Add(0, 0, W, H)
Pict.CopyPicture
chrt.Border.LineStyle = 1 'Pas de bordure ni sur le graphique ni sur les images
chrt.Select
Stop
ActiveChart.Paste
chrt.Chart.Export ThisWorkbook.Path & "\" & Pict.Name & ".jpg", "JPG"
nb = Worksheets("Feuil1").ChartObjects.Count
Worksheets("Feuil1").ChartObjects(nb).Delete
Next Pict
End Sub