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

créer un hyperlin des classeur ouverts

baara

XLDnaute Nouveau
bonjour,

voila j'aimerais mettre sur mon fichier récapitulatif, sur la variable a(3) un hyperlien du fichier où son récuperer les infos.


Sub essai()
Dim fs, f, f1, fc, s
Dim a(14)
Application.ScreenUpdating = False
specdossier = ActiveWorkbook.Path
fic = ActiveWorkbook.Name
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(specdossier)
Set fc = f.Files
pos = 3
For Each f1 In fc
s = f1.Name
b = Right(s, 4)
If b = "xlsx" And s <> ActiveWorkbook.Name Then
Workbooks.Open Filename:=specdossier & "\" & s
Sheets("feuil1").Activate
a(1) = Cells(2, 2)
a(2) = Cells(1, 1)
a(3) = Cells(5, 3)
a(4) = Cells(5, 4)
a(5) = Cells(5, 6)
a(6) = Cells(9, 3)
a(7) = Cells(9, 4)
a(8) = Cells(9, 6).Value + Cells(9, 7).Value
a(9) = Cells(38, 3)
a(10) = Cells(38, 4)
a(11) = Cells(38, 6)
a(12) = Cells(45, 8)
a(13) = Cells(9, 9)
a(14) = Cells(9, 10)
ActiveWorkbook.Close
Windows(fic).Activate
Sheets("feuil1").Activate
For u = 1 To 14
Cells(pos, u) = a(u)

Next u
pos = pos + 1
End If
Next
End Sub

Merci.
 

tototiti2008

XLDnaute Barbatruc
Re : créer un hyperlin des classeur ouverts

Bonjour baara,

Peut-être

Code:
ActiveSheet.Hyperlinks.Add Anchor:=Cells(pos, 3), Address:=specdossier & "\" & s, TextToDisplay:=a(3)

à mettre juste avant

Code:
pos=pos+1
 

baara

XLDnaute Nouveau
Re : créer un hyperlin des classeur ouverts

Désolé, mais il me met Erreur d'éxécution '5' argument ou appel de précédure incorrect.
Escuse moi j'ai aussi pris l'ancienne version de la macro, j'ai suligné en rouges less différences si ca peut t'aider

Sub essai()
Dim fs, f, f1, fc, s
Dim a(14)
Application.ScreenUpdating = False
specdossier = ActiveWorkbook.Path
fic = ActiveWorkbook.Name
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(specdossier)
Set fc = f.Files
pos = 3
For Each f1 In fc
s = f1.Name
b = Right(s, 4)
If b = "xlsx" And s <> ActiveWorkbook.Name Then
Workbooks.Open Filename:=specdossier & "\" & s
Sheets("Résultat").Activate
a(1) = Cells(2, 2)
a(2) = Cells(1, 1)
a(3) = Cells(5, 3)
a(4) = Cells(5, 4)
a(5) = Cells(5, 6)
a(6) = Cells(9, 3)
a(7) = Cells(9, 4)
a(8) = Cells(9, 6).Value + Cells(9, 7).Value
a(9) = Cells(38, 3)
a(10) = Cells(38, 4)
a(11) = Cells(38, 6)
a(12) = Cells(45, 8)
a(13) = Cells(9, 9)
a(14) = Cells(9, 10)
ActiveWorkbook.Close
Windows(fic).Activate
Sheets("feuil1").Activate
For u = 1 To 14
Cells(pos, u) = a(u)

Next u
pos = pos + 1
End If
Next
End Sub
 

baara

XLDnaute Nouveau
Re : créer un hyperlin des classeur ouverts

Car j'ai un classeur nommé récapitulatif (qui contient la macro et qui contient un feuille nommé "Feuil1", qui est dans le même dossier que les classeurs excel ou je vait chercher les données. Et tout les classeur excel dont je récupère les données n'ont qu'une seule feuille nommé "Résultat".
 

tototiti2008

XLDnaute Barbatruc
Re : créer un hyperlin des classeur ouverts

Re,

Peut-être, mais c'est un peu à l'aveugle

Code:
ActiveSheet.Hyperlinks.Add Anchor:=Cells(pos, 3), Address:=specdossier & "\" & s, TextToDisplay:=cstr(a(3))

Si pas ça, il faudrait que tu nous envoie un bout de fichier pour essayer de comprendre sur un cas "concret"
 

Discussions similaires

Réponses
0
Affichages
287
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…