Comment automatiser l'incrémentation de liens hypertextes

Bonjour,

Je vous explique mon problème:

J'ai de nombreux dossiers comprenant des fichiers excel. J'ai réalisé une synthese de ces fichiers en mettant un lien hypertexte pour chacun d'entre eux dans un seul fichier excel. Mais j'aimerai que lorsque j'ajoute ou je supprime un fichier excel dans un des dossiers, le fichier synthèse se mette a jour automatiquement en rajoutant une ligne ou supprimant la ligne correspondante.

Existe-t-il une méthode particulière? Un code VBA?

Merci bien de vos réponses et solutions

salut

alors étant autodidacte et loin voir tres loin des connaissances de certaine personne du forum j'ai quand meme une solution pour toi

c'est de la bidouille je le conçoit mais ca marche car je l'ai déja fait

le principe, dans une feuille excel

en A1 ecrit le chemin d'acces

exemple

c:\mes documents\lienhypertext\

en B1 ecrit le nom de ton fichier, si j'ai bien compris c'est incrémenté

nom_du_fichier1

puis en c1 ecrit

=concatener(A1;B1;".xls)

xls si c'est un fichier excel sinon rajoute l'extension de ton fichier

donc en C1 sera ecrit le chemin d'acces

c:\mes documents\lienhypertext\nom_du_fichier1.xls

puis dans une macro tu fait un copier coller valeur et tu déclare le format de la colonne en lien hypertexte comme ca tout ce qui est copier dans la cellule sera un lien hypertext

ensuite avec une macro du fait des développer pour les nom de ficher et va les incrémenté tout seul

il te reste a copier ton lien vers la page et cellule qui t'intéresse

voila, je reconnais que c'est peu être pas très claire, et que ca dépends de ton niveau en vba

mais ca peux t'aider a trouver un moyen de le faire

sinon post un fichier et on va t'aider

a+

reedit: je vais poster un exemple , en le faisant je me suis rappeler , pour faire le lien hypertexte, utilise la fonction en donnant l'adresse de la cellule concatener qui t'intéresse

a+

-- 22 Juin 2011, 13:22 --

voila le code pour creer le lien hypertext avec ma méthodes

pour supprimer il faut faire une recherche mais sans ton fichier ca va etre dur de faire qq chose

donc poste le et on te le fera

a+

165tioch.zip (9.95 Ko)

Bonjour

Une idée ?

Bonjour

Banzai64, j'ai mis ton code dans mes archives (Bien pratique)

Concernant la suppression des liens inactifs, j'avais cherché à partir de ce code qui teste les liens (pas ceux issus de formules) mais, je ne sais pas comment récupérer l'adresse de la cellule contenant le lien (pour l'effacer)

Code Module

Sub Test_Liens()
Set fso = CreateObject("Scripting.FileSystemObject")
For Each h In Worksheets(1).Hyperlinks
If fso.FileExists(h.Address) = False Then MsgBox "File not found" & vbCrLf & h.Address
Next
End Sub

Si quelqu'un sait, je prends.

Cordialement

Merci bien a vous deux,

Malheuresement mon niveau VBA n'est pas top, et j'ai un probleme qd je veux lui indiquer le chemin, la macro ne veut pas de l'adresse que je met par exemple : C:\Documents\exemple-VBA\tioch.

Pour répondre également, je ne peux pas mettre mes fichiers en ligne car ils sont confidentiels, c'est vrai que ca serait forcément plus facile pour tout le monde.

Merci de vos réponses

-- 22 Juin 2011, 14:49 --

Bon j'ai fait ta macro banzai, Ca marche, sauf que ce n'est pas exactement ce que je veux car ds ta macro, pour mettre a jour je dois reexecuter la macro. Or je voudrais que tout cela se fasse automatiquement, comme lorsque que je change des valeurs dans une des feuilles excel, ca change les valeurs dans le fichier de synthèse.

Quelqu'un a une idée?

Merci d'avance

Bonjour

Pour la mise à jour seulement lors d'une modification dans la page excel car je ne vois pas comment faire lors de l'ajout ou de la suppression d'un fichier dans un de tes répertoires

A voir

Pour Amadéus

Regarde ce code si cela peut t'aider

Sub Test_Liens()
Dim Fso As Object
Dim H As Hyperlink

  Set Fso = CreateObject("Scripting.FileSystemObject")
  For Each H In ActiveSheet.Hyperlinks
  If Fso.FileExists(H.Address) = False Then
    MsgBox "File not found" & vbCrLf & H.Address & vbCr & "cellule " & H.Range.Address
  End If
  Next
End Sub

Bonsoir

Merci banzai64

cordialement

Rechercher des sujets similaires à "comment automatiser incrementation liens hypertextes"