Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Insérer une image

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AnthO56

XLDnaute Nouveau
Bonjour,

Je suis sur un projet professionnel, j'ai un fichier de création de Devis. J'y ai déjà apporté beaucoup de modifications afin de l'adapter à mes besoins.

Cependant, dans mon cahier des charges j'ai besoin d'insérer une Images d'illustration de chaque produit (dans la base produits) dernière colonne.
Evidemment, cette image doit être reportée dans les Devis générés (Devis EN et Devis FR).

Si une personne bien aimable serait disponible pour m'aider dans cette démarche.

Je joins donc une version du fichier. Je ne parviens pas à le joindre (trop volumineux)

"lien supprimé, site à risque" Avec toutes mes excuses je ne savais pas que Uptobox était aussi risqué.

Voici le fichier hébergé sur mon compte One-Drive.


En vous remerciant.
 
Dernière édition:
Re,

Dans ce lien, tu trouveras un fichier test qui illustre une technique simple ...


En espèrant que cela t'aide
 
Bonjour,

Soit tu connais le nom de la Shape Image dans la Base produits.
VB:
Dim Image as Shape
Set Image = ThisWorkbook.Worsheets("Base produits").Shapes(<nom image>)

Soit tu ne connais pas le nom de la Shape Image dans la Base produits mais tu connais la cellule dans laquelle l'image se trouve.
VB:
Dim Image as Shape
Set Image = ImageEnCellule(ThisWorkbook.Worsheets("Base produits").Range(<cellule source de l'image>))

VB:
'--------------------------------------
'Recherche d'une image dans une cellule
'--------------------------------------
Private Function ImageEnCellule(Cellule As Range) As Shape
    Dim oShape As Shape

    For Each oShape In Cellule.Parent.Shapes
        If oShape.Type = msoPicture Then
            If oShape.TopLeftCell.Address = Cellule.Address Then
                Set ImageEnCellule = oShape
                Exit Function
            End If
        End If
    Next
    Set ImageEnCellule = Nothing
End Function

Ensuite tu la copies où il faut, par exemple positionnée dans une cellule.
VB:
If Not Image Is Nothing Then
    Image.Copy
    ThisWorkbook.Worsheets("DEVIS FR").Range(<cellule destination de l'image>).Select
    ThisWorkbook.Worsheets("DEVIS FR").Paste
End If
 

Bonjour,

Merci beaucoup pour cette aide.

As tu eu l'occasion de voir comment est composé mon fichier ? J'avoue avoir besoin d'un peu plus de précisions.

En fait, dans l'onglet "base produits" j'ai une liste de produits avec une référence par ligne (liste non exhaustive) elle est à compléter (environ 120 références). En dernière colonne, je souhaiterais y mettre une image correspondant à chaque référence produit.

Dans l'onglet "base devis" c'est là que je rentre les quantités désirées pour chaque produit ainsi que le client ect... Ce qui génère le devis en Français dans l'onglet "Devis FR" et en Anglais dans l'onglet "Devis EN"

C'est dans ces deux derniers onglets (Devis FR et Devis EN) que les images de la colonne "images" correspondant à chaque produit de l'onglet "base produits" doivent venir aussi s'intégrer.

En clair, même avec le code donné je ne vois pas comment m'y prendre pour l'adapter à mon fichier.

Bien cordialement.
 
Bonjour,

Merci de l'info.

J'avoue avoir opté pour la facilité étant donné que mon fichier était trop volumineux pour être intégré directement sur le forum.

Cela dit, je peux le mettre sur one drive si cela est plus convenable.

Cordialement.
 
Sinon, essaie un autre comme transfernow ou OneDrive, pourquoi pas. 🙂

Je viens de faire un test avec transfernow que je retirerai après le test. Bon, après le test, par contre Windows smart screen empêche le téléchargement!

Du coup, essaie avec Onedrive, Microsoft devrait l'accepter. 😉

Tu peux aussi supprimer ce qui n'est pas indispensable dans ton fichier pour qu'il diminue de taille et que tu puisses le télécharger sur le site.

Et retire le lien dans ton premier message, sinon, c'est David qui va le faire.

Dernier test en désactivant smartcreen sur mon PC. Et là, avec transfernow, cela fonctionne. Ensuite je remets SmartScreen sur mon PC.
 
Dernière édition:
Dès que je suis de retour à la maison, j'héberge le fichier sur One Drive.

Merci à toi.
 
Bonjour

En clair, même avec le code donné je ne vois pas comment m'y prendre pour l'adapter à mon fichier.

Il y a si peu de choses à adapter et c'est tellement simple que je ne vois vraiment pas comment t'aider davantage. Désolé.
Il va falloir que tu fasses le tout petit effort nécessaire. Ou alors fais-toi aider sur place par quelqu'un qui connait un peu le VBA.
Bonne chance.
D.
 

Ce qui est évident pour certains ne l'est pas forcément pour d'autres.

Merci quand même du temps que tu as bien voulu me consacrer.

Bonnes fêtes de fin d'année.

Cordialement.
 
Dernière édition:
Bonjour à tous

Voici un extrait de ton fichier pour insérer une image dans la cellule contenant la référence de l'image (nom de dossier et nom de fichier).

J'utilise aussi la Windows Images acquisition librarie (Wiaut2.dll).

Ensuite, à toi de voir comment l'exploiter.

Par contre, qelque chose m'échappe, je ne comprend as pourquoi ton fichier est si lourd, il devrait faire moins de 1 Mo.
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…