IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

insertion d'image dans une cellule


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut insertion d'image dans une cellule
    je veux inserer une image dans un cellule du tableau.
    je peux pas (peut etre un probleme de macros non signés) de tte façon g activé toutes les macros. mais rien a faire
    l'insertion est toujours impossible et les boutons pour linsertion sont tjrs desactivé ( je ne peux pas cliquer dessus)

  2. #2
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    bonjour

    si ça t'intéresse, avec une formule, qui fait appelle à une fonction personalisé
    Fonction à placer dans un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Function Image(img_nom As Variant, Optional chemin As String = "") As String
        ' Declaration des variables
        Dim ref As Range, sh As Shape, drap As Boolean
        ' ref : la cellule qui provoque la fonction
        ' sh : les shapes
        ' Drap : drapeau definissant si la shape est trouvée
        Application.Volatile ' defini une fonction qui se recalcule automatiquement
    ' teste le type de variable soit une cellule soit une valeur alphanumerique
        Select Case TypeName(img_nom)
            Case "Range" ' c'est une reference cellule
                Image = img_nom.Value
            Case "String" ' c'est une valeur alphanumerique
                Image = img_nom
            Case Else ' c'est une erreur
                Image = "#ERROR"
                Exit Function
        End Select
    ' le chemin est un parametre optionnel, s'il est omis, la valeur est le chemin du classeur
        If chemin = "" Then chemin = ThisWorkbook.Path
    ' le chemin ne se termine pas forcemment par \ je le rajoute
        If Right(chemin, 1) <> "\" Then chemin = chemin & "\"
        Set ref = Application.Caller ' affectaction à ref de la cellule qui lance la fonction
        If ref.MergeCells = True Then Set ref = Range(ref.MergeArea.Address)
        drap = False ' initialisation du drapeau
        For Each sh In ref.Worksheet.Shapes ' je passe en revue toute les shapes
    ' je teste son nom construite plus bas pour savoir si c'est la bonne shappe
            If "Img-" & ref.Address = Left(sh.Name, Len(ref.Address) + 4) Then drap = True: Exit For
        Next
        If drap = True Then ' c'est la bonne shape
    ' je teste maintenant si c'est la meme que celle de la formule pour ne pas refaire le traitement
    ' Le gain de temps n'est pas negligeable
           If "Img-" & ref.Address & "-" & Image = sh.Name Then GoTo fin ' egalité parfaite, je sors
        End If
        On Error Resume Next ' controle d'erreur, si la shape n'existe pas encore, l'instruction suivante provoque une erreur
        sh.Delete ' je detruits la shap
        If Image = "" Then Exit Function ' la valeur est à "" alors pas de shape à affecter
    ' j'inserre la shape, avec l'image en lui mettant les tailles necessaires pour la cellule
        Set sh = ref.Worksheet.Shapes.AddPicture(chemin & Image, True, True, ref.Left, ref.Top, ref.Width, ref.Height)
        sh.Name = "Img-" & ref.Address & "-" & Image ' je definis son nom pour la trouver plus tard
    fin:
        Image = "Img" & ref.Address ' j'affecte un nom pour resultat
    End Function
    Formule à placer dans la cellule
    l'image est dans le répertoire du classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Image("Nom de l'image.jpg")
    l'image n'est pas dans le répertoire du classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Image("Nom de l'image.jpg";"Chemin de l'image")
    la taille de l'image s'adapte à la taille de la cellule même fusionée

  3. #3
    Membre éclairé
    Profil pro
    Webmaster
    Inscrit en
    Mai 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2008
    Messages : 281
    Par défaut
    Parfait cette solution, dans mon cas je souhaiterai qu'il y ai un AUTOADJUST de l'image par apport à la taille de la cellule avec un zoom proportionnel. et dexième chose très intéressante c'est qu'il serait bien qu'on tape par exemple une rérérence en cellule A1 "502657" et hop il y a l'image "502657.jpg" qui s'alffiche en B2 !

    Possible ?

    Merci
    Johan

  4. #4
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    re:

    pour la formule :
    pour le reste de la question, je n'ai pas tout compris
    l'image s'ajuste selon la taille de la cellule mais si tu changes la taille après, il faut supprimer l'image pour le ré-affichage.

  5. #5
    Membre éclairé
    Profil pro
    Webmaster
    Inscrit en
    Mai 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2008
    Messages : 281
    Par défaut
    ok ben ce que je veux dire pour l'auto ajustement de la photo, c'est que "oui" elle s'adapte bien à la cellule, mais elle ne garde pas la bonne proportion de taille. et j'aimerai qu'elle soit centrée plutôt que en format "top" : que faire ?
    Merci en tout cas
    Johan

  6. #6
    Membre éclairé
    Profil pro
    Webmaster
    Inscrit en
    Mai 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2008
    Messages : 281
    Par défaut
    bonjour, la formule c'est ok pour les recherches des photos en fonction d'une référence produit (merci ), cela fonctionne super.

    Par contre, pour l'ajustement à la cellule, je met un print screen (voir ligne N°6) de mon résultat, pourquoi la photo ne s'ajuste pas en largueur ?

    J'aimerai beaucoup si ce n'est pas trop demander, avoir un bouton en haut de page pour actualiser toutes les photos liées pour les mises à jour de photos.

    et pour finir, j'ai 3 images par produit ! mais pas toujours (des fois une, des fois deux, et des fois trois !) comments faire pour ne pas afficher d'erreur si "pas dismage dispo dans le dossier lié"

    PS: pour info : j'utilise cette formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Image(A5 & ".jpg";"Chemin de l'image")
    et là c'est le top du top si j'ai réponse à tout cela !
    bonne sacré journée à tous

Discussions similaires

  1. [XL-2007] Insertion d'Images dans une cellule
    Par cobra38 dans le forum Excel
    Réponses: 0
    Dernier message: 17/12/2013, 10h52
  2. Réponses: 2
    Dernier message: 27/10/2010, 20h38
  3. Insertion image dans une cellule d'un tableau
    Par bigmousse69 dans le forum Word
    Réponses: 1
    Dernier message: 25/06/2010, 17h09
  4. [phpToPDF] Insertion d'une image dans une cellule
    Par lodan dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 22/04/2009, 13h09
  5. [html] insertion d 1 image dans une cellule avec taille en %
    Par hijodelanoche dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 19/01/2006, 00h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo