Stocker un lien hypertexte dans une variable de type tableau

Riko

XLDnaute Junior
Bonjour,
je souhaiterais savoir comment faire pour créer un lien hypertexte (à partir d'un Scripting.FileSystemObject) mais surtout le stocker dans une variable de type tableau.
Avec ActiveSheet.Hyperlinks.Add Anchor, je ne vois pas comment faire .
Merci d'avance pour vos réponses
 

Pierrot93

XLDnaute Barbatruc
Re : Stocker un lien hypertexte dans une variable de type tableau

Bonsoir,

pas tout compris, regarde peut être ceci, adaptation de l'exemple fourni par l'aide vba :
Code:
Option Explicit
Sub test()
Dim h As Hyperlink
With Worksheets(1)
    Set h = .Hyperlinks.Add(Anchor:=.Range("a5"), _
        Address:="http://example.microsoft.com", _
        ScreenTip:="Microsoft Web Site", _
        TextToDisplay:="Microsoft")
End With
End Sub
bonne soirée
@+
 

Riko

XLDnaute Junior
Re : Stocker un lien hypertexte dans une variable de type tableau

Merci de ta réponse, je vais tenter d'éclaircir ma demande

je récupère des infos dans une boucle.

Code:
Do
        m = m + 1
        ReDim Preserve Tableau(1 To 3, 1 To m)
        
        Tableau(1, m) = Fichier
        
        Set Fso = CreateObject("Scripting.FileSystemObject")
        Set FileItem = Fso.GetFile(Chemin & "\" & Fichier)
        
        'Récupère la date de création
        Tableau(2, m) = Left(FileItem.DateCreated, 10)
        'Pour récupérer la date de dernière modification
        'Tableau(3, m) = Left(FileItem.DateLastModified, 10)
        'Pour récupérer la taille du fichier
        Tableau(2, m) = Left(FileItem.Size, 10)
        
        
        Fichier = Dir
    Loop Until Fichier = ""
mon idée (si possible) serait d'ajouter le lien en colonne 3 (Tableau(3, m))

Je vais essayer de faire un fichier pour que vous compreniez bien ma demande.
 

Pierrot93

XLDnaute Barbatruc
Re : Stocker un lien hypertexte dans une variable de type tableau

Bonjour,

c'est pas un lien hypertexte que tu cherches ?? c'est le "Path" du fichier, chemin d'accès et nom, non ??

bon après midi
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Stocker un lien hypertexte dans une variable de type tableau

Re,

pour le chemin et nom du fichier essaye ceci :
Code:
Tableau(2, m) = FileItem.Path
 
Dernière édition:

Riko

XLDnaute Junior
Re : Stocker un lien hypertexte dans une variable de type tableau

non c'est bien le lien hypertexte que je veux créer en 3ième colonne.
voir mon zip enpièce jointe.
Merci de vos réponses
 

Fichiers joints

Pierrot93

XLDnaute Barbatruc
Re : Stocker un lien hypertexte dans une variable de type tableau

Re,

bah une fois placé le chemin + non dans ton tableau comme indiqué au post #5, tu le mets dans une cellule en adaptant le code donné post #2...

bonne soirée
@+
 

Riko

XLDnaute Junior
Re : Stocker un lien hypertexte dans une variable de type tableau

Ok, si j'ai bien compris, je suis obligé de créer le lien après avoir "transposé" mon tableau.

Merci de vos réponses.
 

Pierrot93

XLDnaute Barbatruc
Re : Stocker un lien hypertexte dans une variable de type tableau

Bonjour,

Ok, si j'ai bien compris, je suis obligé de créer le lien après avoir "transposé" mon tableau.
oui, tout à fait, via une boucle sur la dernière dimension de ton tableau....

bon après midi
@+
 

Riko

XLDnaute Junior
Re : Stocker un lien hypertexte dans une variable de type tableau

je vais essayer de faire ça.
Merci...:)
 

Pierrot93

XLDnaute Barbatruc
Re : Stocker un lien hypertexte dans une variable de type tableau

Re,
regarde peut être ceci, à adapter à ton projet, espérant que cela puisse t'aider à avancer :
Code:
Option Explicit
Sub test()
Dim h As Hyperlink
Dim MonRepertoire As String, fso As Object, f As Object
Dim t() As Variant, x As Integer

MonRepertoire = ThisWorkbook.Path
Set fso = CreateObject("Scripting.FileSystemObject")
ReDim t(1 To fso.GetFolder(MonRepertoire).Files.Count, 1 To 5)

For Each f In fso.GetFolder(MonRepertoire).Files
    x = x + 1
    t(x, 1) = f.Name
    t(x, 2) = f.DateCreated
    t(x, 3) = f.DateLastModified
    t(x, 4) = f.Size
    t(x, 5) = f.Path
Next f

For x = 1 To UBound(t, 1)
    With ActiveSheet
        Set h = .Hyperlinks.Add(Anchor:=.Cells(65536, 5).End(xlUp)(2), _
            Address:=t(x, 5))
    End With
Next x

ReDim Preserve t(LBound(t, 1) To UBound(t, 1), LBound(t, 2) To UBound(t, 2) - 1)
Cells(2, 1).Resize(UBound(t, 1), UBound(t, 2)) = t

End Sub
 

Riko

XLDnaute Junior
Re : Stocker un lien hypertexte dans une variable de type tableau

Je jette un oeil à ton code, je ne pige pas tout mais j'y travaille.
 

Riko

XLDnaute Junior
Re : Stocker un lien hypertexte dans une variable de type tableau

Là où je bloque c'est sur cette ligne de code, je ne comprends pas tout
Code:
Set h = .Hyperlinks.Add(Anchor:=.Cells(65536, 5).End(xlUp)(2)
 

Pierrot93

XLDnaute Barbatruc
Re : Stocker un lien hypertexte dans une variable de type tableau

Bonjour,

Là où je bloque c'est sur cette ligne de code, je ne comprends pas tout
Code:
Set h = .Hyperlinks.Add(Anchor:=.Cells(65536, 5).End(xlUp)(2)
place le lien tout en le mettant dans une variable objet.... on pourrait très bien s'en passer et coder directement :
Code:
For x = 1 To UBound(t, 1)
    With ActiveSheet
        .Hyperlinks.Add Anchor:=.Cells(65536, 5).End(xlUp)(2), Address:=t(x, 5)
    End With
Next x
bonne journée
@+
 

Riko

XLDnaute Junior
Re : Stocker un lien hypertexte dans une variable de type tableau

Merci, ça j'ai pigé mais c'est (2) après le end(x1up) qui me gène.
Je voudrais déplacer ce tableau vers le bas.
 

Pierrot93

XLDnaute Barbatruc
Re : Stocker un lien hypertexte dans une variable de type tableau

Re,

Code:
Cells(65536, 5).End(xlUp)(2)
renvoie la première cellule vide après la dernière de renseignée, ce pour la colonne E, le 2 est un espèce d'offset par rapport à la cellule trouvée ...
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas