Lien Hypertexte Et Reference Cellule

  • Initiateur de la discussion Initiateur de la discussion FABIENNE
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

FABIENNE

Guest
Comment Mettre En Place Un Lien Hypertexte Dans Une Cellule En Faisant Reference Toujours A La Meme Feuille (meme Si Celle-ci Est Renommee)
Je Cherche Et Ne Trouve Pas
Merci De Votre Aide
 
Re : Lien Hypertexte Et Reference Cellule

bonjour pierrejean

aucune feuille ne porte le nom d'un module!!!
décidément a force d'être capillotracté ces liens hypertexte vont finir par nous agacer!!!!
 
Re : Lien Hypertexte Et Reference Cellule

RE

J' ai vérifié les modules, et retesté la macro>.

Cela fonctionne bien une fois ou deux et puis..... plus rien.
Je suis alors retournée tester sur le fichier que tu avais joint et...idem
cela marche (pas toujours) et souvent la première feuille et ou la dernière ne sont pas renommer

je m'arrache les cheveux!!!!
 
Re : Lien Hypertexte Et Reference Cellule

me revoilà après quelques jours d'absence toujours avec mes liens hypertextes ( tenace je suis!!!)
après plusieurs tests je peux dire que cela fonctionne à peu près . Je m'explique :
ex si un lien s'appelle 8 et que je le renomme xxx, il renomme tous les 8 qu'il trouve en xxx et donc si plus bas un lien se nomme 18 il va se nommer 1xxx.

comment puis-je améliorer la macro de Pierre Jean ?

d'autre part j'avais crée une macro qui nomme automatiquement les noms des feuilles et si je l'active cell des liens hypertextes elle ne fonctionne que sur le premier lien

merci de votre aide
 
Re : Lien Hypertexte Et Reference Cellule

bonjour FABIENNE

teste cette version

Code:
Sub renommerhyper(feuille As String, anciennom As String, nouveaunom As String)
If Sheets(feuille).Hyperlinks.Count = 0 Then Exit Sub
Dim subad As String
Dim anch As Range
'pour chaque lien de la feuil1
  For Each h In Sheets(feuille).Hyperlinks
  'si le lien concerne l'ancien nom
    If h.SubAddress = anciennom Then
    'on remplace dans la subadress l'ancien nom par le nouveau nom
      subad = Replace(h.SubAddress, anciennom, nouveaunom)
    'on redefinit le anch
      Set anch = Sheets(feuille).Range(h.Range.Address)
    'on efface l'hyperlink
      h.Delete
    'on le réecrit
      ActiveSheet.Hyperlinks.Add anchor:=anch, Address:="", SubAddress:=subad
    End If
Next
End Sub
 
Re : Lien Hypertexte Et Reference Cellule

re

teste cette nouvelle version un peu plus travaillée

Code:
'macro pour adresser les hyperlink de la feuil1 au nouveau nom
'd'une feuille qui a été renommée
Sub renommerhyper(feuille As String, anciennom As String, nouveaunom As String)
If Sheets(feuille).Hyperlinks.Count = 0 Then Exit Sub
Dim subad As String
Dim anch As Range
'pour chaque lien de la feuil1
  For Each h In Sheets(feuille).Hyperlinks
  'si le lien concerne l'ancien nom
    'If InStr(h.SubAddress, anciennom) <> 0 Then
    If Left(h.SubAddress, Len(anciennom)) = anciennom Then
    'on remplace dans la subadress l'ancien nom par le nouveau nom
      subad = Replace(h.SubAddress, anciennom, nouveaunom)
    'on redefinit le anch
      Set anch = Sheets(feuille).Range(h.Range.Address)
    'on efface l'hyperlink
      h.Delete
    'on le réecrit
      ActiveSheet.Hyperlinks.Add anchor:=anch, Address:="", SubAddress:=subad
    End If
Next
End Sub
 
Re : Lien Hypertexte Et Reference Cellule

GENIAL!!!!!

ca marche!!!!! et si je veux étendre les liens à plusieurs feuilles quelle est la meilleure manière de s'y prendre ?

et si pour corser le tout mes feuilles sont nommées par macro peut-on activer les liens ?

(oui je sais j'en demande pe-être beaucoup là... mais on ne sait jamais!!!)

mille mercis pour le travail déjà fait
 
Re : Lien Hypertexte Et Reference Cellule

Bonjour pierrejean
autant pour moi.... après vérification la mise à jour des liens fonctionne sur toutes les feuilles du classeur.
mais si je nomme les onglets par une macro, cela ne fonctionne plus! est-ce que l'on peut y remédier ou faut-il obligatoirement passer par une saisie manuelle ?
dans la mesure où le classeur peut comporter 60 feuilles à renommer... je voulais bien sûr m'économiser!!!!!
merci d'avance
 
Re : Lien Hypertexte Et Reference Cellule

bonjour FABIENNE

dans le cas de changement de nom par macro il suffit de relancer dans ladite macro
celle ci dessus

ça devrait donner:

Code:
for each sh in worksheets
 
Call renommerhyper(sh.Name, anciennom , nouveaunom )

next sh
 
Re : Lien Hypertexte Et Reference Cellule

j'y avais pensé et essayé de passer par un call mais j'ai un message d'erreur :

erreur de compilation : type d'argument by ref incompatible
qui s'affiche pour la ligne ci-dessous :

Call renommerhyper(feuille, anciennom, nouveaunom)
 
Re : Lien Hypertexte Et Reference Cellule

si c'est toujours ce type d'erreur

erreur de compilation : type d'argument by ref incompatible

il faut chercher du coté des types de variable

ne pas hesiter a utiliser Cstr(...) pour forcer le type (en particulier essayer cstr(sh.Name) )
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
168
  • Question Question
Microsoft 365 Formule
Réponses
3
Affichages
196
Retour