Macro VBA - Ajouter automatiquement une photo depuis lien Hyper
William3000
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je suis encore assez novice en VBA, l'envie d'apprendre mais pas forcément le temps qui va avec !
Je vous explique mon petit problème : En gros j'ai des liens hypertexte situés dans une plage de cellules, et j'aimerai trouver un code VBA qui me permettrait d'automatiquement ouvrir la photo depuis le lien qui se situe puis de la faire apparaître dans la cellule en respectant taille et forme de la ligne.
En trainant sur le web j'ai trouvé cette première macro :
qui me permet en effet d'insérer une photo qui respecte la taille et forme de la ligne/colonne où je suis situé, mais ce code demande à chaque fois le chemin de la photo.
Au départ j'étais parti sur la volonté d'insérer les photos en Commentaire via les liens hypertextes, j'utilisais ce code qui lui prenait bien toute la plage de liens et me permettait d'effectuer l'ensemble des changements en une seule éxécution :
J'aimerai beaucoup pouvoir combiner les deux, mais j'ai toujours des erreurs ou autres problèmes !
Si quelqu'un a une idée ou tout conseil, je suis preneur !
Merci d'avance pour votre aide à tous
Très Bonne Soirée
Je suis encore assez novice en VBA, l'envie d'apprendre mais pas forcément le temps qui va avec !
Je vous explique mon petit problème : En gros j'ai des liens hypertexte situés dans une plage de cellules, et j'aimerai trouver un code VBA qui me permettrait d'automatiquement ouvrir la photo depuis le lien qui se situe puis de la faire apparaître dans la cellule en respectant taille et forme de la ligne.
En trainant sur le web j'ai trouvé cette première macro :
Sub insere_image() Dim ficimg As Variant ficimg = Application.GetOpenFilename(".jpg,*.jpg", , "Choisissez l'image") ' choix nom du fichier ActiveSheet.Pictures.Insert(ficimg).Select ' insertion With Selection.ShapeRange .LockAspectRatio = False ' proportions d'origine lorsque vous la redimensionnez .Top = ActiveCell.Top ' haut de la cellule .Left = ActiveCell.Left ' gauche de la cellule .Height = ActiveCell.RowHeight ' hauteur de la cellule .Width = ActiveCell.Width ' largeur de la cellule End With With Selection .PrintObject = True ' l'objet est imprimé en même temps que le document .Placement = xlMoveAndSize ' manière dont l'objet est lié aux cellules End With End Sub
qui me permet en effet d'insérer une photo qui respecte la taille et forme de la ligne/colonne où je suis situé, mais ce code demande à chaque fois le chemin de la photo.
Au départ j'étais parti sur la volonté d'insérer les photos en Commentaire via les liens hypertextes, j'utilisais ce code qui lui prenait bien toute la plage de liens et me permettait d'effectuer l'ensemble des changements en une seule éxécution :
Sub insert_image() Dim i For i = 2 to 934 With Cells(i,60) .AddComment.Visible = True .Comment.Shape.Fill.UserPicture Application.ActiveSheet.Cells(i,60).Value .Comment.Shape.Height = 100 .Comment.Shape.Width = 100 End With Next i End Sub
J'aimerai beaucoup pouvoir combiner les deux, mais j'ai toujours des erreurs ou autres problèmes !
Si quelqu'un a une idée ou tout conseil, je suis preneur !
Merci d'avance pour votre aide à tous
Très Bonne Soirée
A voir également:
- Macro VBA - Ajouter automatiquement une photo depuis lien Hyper
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Google photo - Télécharger - Albums photo
- Hyper-v download - Télécharger - Divers Utilitaires
- Google maps photo maison - Guide
1 réponse
Bonsoir,
un discussion sur le thème utilisation de lien hypertexte dans ccm en mars 2012
le classeur
https://www.cjoint.com/?3JdxQqElUTM
dont le code
mais dans ton cas, je me demande si la solution par lien hypetexte est la +efficace...Tout dépend où se trouvent tes images...
Michel
un discussion sur le thème utilisation de lien hypertexte dans ccm en mars 2012
le classeur
https://www.cjoint.com/?3JdxQqElUTM
dont le code
Option Explicit
'-----
Sub mettre_imageweb()
'Michel_M pour CCM
Dim Derlig As Integer, lien As String, cptr As Integer
Dim image As Picture, cellule As Range
'initialisations
Derlig = Columns("D").Find("*", , , , , xlPrevious).Row
Application.ScreenUpdating = False
'parcours la liste
For cptr = 2 To Derlig
' mémorise url
lien = "http://www.tubconcept.fr/visuels/" & Cells(cptr, 4)
Set cellule = Cells(cptr, 4)
Set image = ActiveSheet.Pictures.Insert(lien)
'insere l'mage web dans la liste du matos
With image.ShapeRange
.Top = cellule.Top + 1
.Left = cellule.Left + 1
.Height = cellule.Height - 10
.Width = cellule.Width - 2
.LockAspectRatio = msoFalse 'garde les proportions de l'original
End With
Next
End Sub
mais dans ton cas, je me demande si la solution par lien hypetexte est la +efficace...Tout dépend où se trouvent tes images...
Michel
https://www.cjoint.com/?DJeabihEa8r