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

Microsoft 365 Génération image en lien hypertexte lié à une variable via une boucle

Maad84

XLDnaute Nouveau
Bonjour,

En plein apprentissage du VBA, je me retrouve coincé.

Désolé pour le titre, je ne sais pas comment nommer le topic en question.
Mon objectif est de créer des images "hypertexte" via une variable présente dans la feuille.

Je suis arrivé à générer mes liens (colonne U) en plaçant ma variable (colonne K) dedans par une boucle For.
Maintenant, mon but est de générer une image (Ex: Trombone) et d'y ajouter le lien hypertexte généré afin qu'un utilisateur puisse cliquer dessus pour visualiser dans son navigateur le fichier.

Je ne sais pas si je dois utiliser une image, une icône, un bouton etc...

VB:
Sub CreateIcone()

Dim DL As Integer      'Variable Dernière Ligne
Dim lienflux As String 'Variable lien
Dim liennyp As String  'Variable du lien hypertexte complet
Dim ligneInc As Integer 'Variable numéro de ligne
Dim BBoucle As Integer

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    
    Sheets("Test2").Select
    Range("U1").Select
    ActiveCell.FormulaR1C1 = "Test"
    Selection.Font.Bold = True
    DL = Cells(Application.Rows.Count, "K").End(xlUp).Row 'Compte le nombre de ligne et intégre à la variable DL
    ligneInc = 2
    
    For BBoucle = 2 To DL 'Tant que ligne 2 n'est pas égal à Dernière ligne
    lienflux = ThisWorkbook.Sheets("Test2").Cells(ligneInc, 11) 'Enregistre la valeur de la variable du lien
    lienhyp = "https://test/" & lienflux & "/demande.test" 'Création du lien complet
    Cells(ligneInc, 21).Select
    ActiveSheet.Pictures.Insert("https://cdn.hubblecontent.osi.office.net/icons/publish/icons_paperclip/paperclip.svg").Select
    Selection.ShapeRange.ScaleWidth 0.7276507277, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 0.7276502048, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.IncrementLeft 6.75
    Selection.ShapeRange.IncrementTop -0.75
    ActiveSheet.Hyperlinks.Add Anchor:=ShapeRange.Item(1), Address:=lienhyp
    ligneInc = ligneInc + 1
    Next


End Sub

J'ai l'impression que mon problème vient du faite que je ne "nomme" pas mon image.

Par ailleurs, je cherche à alléger mon code. Vos conseils seront les bienvenues

En vous remerciant par avance,
Maad
 

Pièces jointes

  • TestGenHypIcone.xlsm
    28.2 KB · Affichages: 8

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…