=LIEN_HYPERTEXTE(STXT(CELLULE("filename";$A$1);CHERCHE("[";CELLULE("filename";$A$1));99) & "!" & CELLULE("address";$A$1);"Vers la première cellule")
Hello merci beaucoup de ta réponse.Bonjour @Poljol , @danielco,
Considérons la feuille à dupliquer. Sur cette feuille, considérons la cellule H10.
Pour cela, on va saisir la formule suivante en H10:
- On va insérer en cellule H10, le texte "Vers la première cellule"
- En H10, on mettra un lien vers la cellule A1 de la même feuille.
=LIEN_HYPERTEXTE(STXT(CELLULE("filename";$A$1);CHERCHE("[";CELLULE("filename";$A$1));99) & "!" & CELLULE("address";$A$1);"Vers la première cellule")
où $A$1 est la cellule cibleoù "Vers la première cellule" est le texte du lien
Cette cellule peut-être copiée sur une autre feuille (ou bien la feuille peut être dupliquée). Les liens copiés pointeront bien au sein de la feuille copiée ou dupliquée et non vers la feuille origine.
je suis désolé mais ca ne fonctionne toujours pas même en mettant un nom d'onglet sans espace ..Bonjour @Poljol , @danielco,
Considérons la feuille à dupliquer. Sur cette feuille, considérons la cellule H10.
Pour cela, on va saisir la formule suivante en H10:
- On va insérer en cellule H10, le texte "Vers la première cellule"
- En H10, on mettra un lien vers la cellule A1 de la même feuille.
=LIEN_HYPERTEXTE(STXT(CELLULE("filename";$A$1);CHERCHE("[";CELLULE("filename";$A$1));99) & "!" & CELLULE("address";$A$1);"Vers la première cellule")
où $A$1 est la cellule cibleoù "Vers la première cellule" est le texte du lien
Cette cellule peut-être copiée sur une autre feuille (ou bien la feuille peut être dupliquée). Les liens copiés pointeront bien au sein de la feuille copiée ou dupliquée et non vers la feuille origine.
NOTA: les noms des onglets doivent être sans espaces (sinon il faut changer la formule)
je suis désolé mais ca ne fonctionne toujours pas même en mettant un nom d'onglet sans espace ..
Sub DupliquerFeuilleEtLiens()
Dim source As Worksheet, cible As Worksheet, hyp As Hyperlink, Cellule, SousAdresse, Texte
Set source = ActiveSheet
source.Copy After:=Sheets(Sheets.Count)
Set cible = ActiveSheet
For Each hyp In cible.Hyperlinks
If hyp.SubAddress Like "Feuil" & "*" Then
Set Cellule = hyp.Range
SousAdresse = Replace(hyp.SubAddress, "Feuil1", "'" & ActiveSheet.Name & "'")
Texte = hyp.TextToDisplay
hyp.Delete
cible.Hyperlinks.Add Anchor:=Cellule, Address:="", SubAddress:=SousAdresse, TextToDisplay:=Texte
End If
Next hyp
End Sub
MERCI BEAUCOUP CA FONCTIONNE !!!!Bonsoir @Poljol,
On duplique par macro.
- on ajoute un bouton sur la feuille à dupliquer
- on associe la macro DupliquerFeuilleEtLiens() à ce bouton
- Pour dupliquer la feuille où se trouve le bouton, cliquer sur ce bouton (ne pas utiliser une autre méthode)
La code de la macro se trouve dans Module1.
VB:Sub DupliquerFeuilleEtLiens() Dim source As Worksheet, cible As Worksheet, hyp As Hyperlink, Cellule, SousAdresse, Texte Set source = ActiveSheet source.Copy After:=Sheets(Sheets.Count) Set cible = ActiveSheet For Each hyp In cible.Hyperlinks If hyp.SubAddress Like "Feuil" & "*" Then Set Cellule = hyp.Range SousAdresse = Replace(hyp.SubAddress, "Feuil1", "'" & ActiveSheet.Name & "'") Texte = hyp.TextToDisplay hyp.Delete cible.Hyperlinks.Add Anchor:=Cellule, Address:="", SubAddress:=SousAdresse, TextToDisplay:=Texte End If Next hyp End Sub
Merci encore, en revanche je rencontre un problème. Je ne peux pas modifier le nom des onglets. Lorsque je le fais les liens ne fonctionnent plus...MERCI BEAUCOUP CA FONCTIONNE !!!!
Merci encore, en revanche je rencontre un problème. Je ne peux pas modifier le nom des onglets. Lorsque je le fais les liens ne fonctionnent plus...
Merci beaucoup, c'est déjà top si tu trouves une solution ce soir.
En fait, la macro n'a rien à voir dans ce comportement. Dans le fichier joint (sans aucune macro), 3 liens ont été crées sur Feuil1.Je ne peux pas modifier le nom des onglets. Lorsque je le fais les liens ne fonctionnent plus...