Afficher image auto dans excel (=trombi)
Fermé
missvai
-
25 nov. 2008 à 08:51
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 - 25 nov. 2008 à 09:43
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 - 25 nov. 2008 à 09:43
A voir également:
- Afficher image auto dans excel (=trombi)
- Liste déroulante excel - Guide
- Si et excel - Guide
- Image iso - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
2 réponses
wilfried_42
Messages postés
907
Date d'inscription
mardi 19 août 2008
Statut
Contributeur
Dernière intervention
8 décembre 2009
244
25 nov. 2008 à 09:01
25 nov. 2008 à 09:01
Bonjour
regarde ce Code pour afficher des images dans une cellule
utilisation : =Image(A1) ou si chemin différents : =Image(A1;"C:\Mes Documents\Mes Images")
ou encore : =Si(A1>"";Image(A1);"")
ou encore : =image(RechercheV(A1;Feuil2:A1:B100;2;FAUX))
plus : j'ai oublié de préciser que la taille de l'image s'adapte à la taille de la cellule où se trouve la formule, si cette cellule est fusionnée avec d'autres cellules, elle s'adapte automatiquement au bloc fusionné
regarde ce Code pour afficher des images dans une cellule
Public 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 = "#VALEUR" 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
utilisation : =Image(A1) ou si chemin différents : =Image(A1;"C:\Mes Documents\Mes Images")
ou encore : =Si(A1>"";Image(A1);"")
ou encore : =image(RechercheV(A1;Feuil2:A1:B100;2;FAUX))
plus : j'ai oublié de préciser que la taille de l'image s'adapte à la taille de la cellule où se trouve la formule, si cette cellule est fusionnée avec d'autres cellules, elle s'adapte automatiquement au bloc fusionné
wilfried_42
Messages postés
907
Date d'inscription
mardi 19 août 2008
Statut
Contributeur
Dernière intervention
8 décembre 2009
244
25 nov. 2008 à 09:43
25 nov. 2008 à 09:43
re:
bilou a fait fort : le copier coller
https://www.developpez.net/forums/d648561/logiciels/microsoft-office/excel/macros-vba-excel/images-inserees-automatiquement-excel/#post3811623
bilou a fait fort : le copier coller
https://www.developpez.net/forums/d648561/logiciels/microsoft-office/excel/macros-vba-excel/images-inserees-automatiquement-excel/#post3811623