(Résolu) Choix de cellule à l'ouverture d'un lien hypertexte

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 !

frasylest

XLDnaute Nouveau
Bonjour à tous, bonne année et meilleurs voeux
Dans le fichier joint, j'aimerai, si c'est possible, que lorsque j'utilise les liens hypertextes, la cellule active dans la feuille demandée, ne soit pas forcément la cellule A1, mais la dernière cellule à la fermeture du dossier.
(Exemple dans le fichier joint : Feuil 2B être LA, dans la Feuil 3C être LA ou ICI ou LALA)
Dans la formule du lien hypertexte, que peut on mettre à la place de A1 pour sélectionner la dernière cellule active.
En passant par une macro, c'est possible mais si on peut faire autrement.
Merci d'avance.
Sylvain
 

Pièces jointes

Dernière édition:
Re : Choix de cellule à l'ouverture d'un lien hypertexte

Bonjour frasylest, bienvenue sur XLD,

Voyez le fichier joint et les formules en B3 et B5 de la 1ère feuille.

Attention aux quotes (apostrophes) pour les noms des feuilles...

Sur les liens des objets on ne peut rien faire par formule.

A+
 

Pièces jointes

Re : Choix de cellule à l'ouverture d'un lien hypertexte

Re,

Notez qu'on peut utiliser les noms définis _2B et _3C pour atteindre les feuilles.

Fichier (2).

Edit : l'intérêt de cette méthode c'est que les liens fonctionnent même si l'on modifie les noms des feuilles.

A+
 

Pièces jointes

Dernière édition:
Re : Choix de cellule à l'ouverture d'un lien hypertexte

Merci job75 mais après plusieurs tests ce n'est pas ce que je souhaites. Lorsque l'on clique sur le lien feuil 2B on se retrouve toujours sur la même la case. Ce que je voudrais faire c'est qu'à l'ouverture de feuil 2B la case sélectionnée soit la dernière pointée lors de la fermeture précédente. Exemple : j'ouvre la feuille,je clique sur le lien feuil 2B et la cellule sélectionnée est A20. Je travaille dessus et lorsque j'enregistre et que je ferme la cellule pointée est C15. Quand j'ouvre à nouveau le fichier et que je clique sur feuil 2B, j'aimerai que ce soit la case C15 qui soit sélectionnée. De plus dans la formule =INDEX('Feuil 2B'!$B:$B;EQUIV("zzz";'Feuil 2B'!$A:$A)) que signifie "zzz".Merci A+
 
Re : Choix de cellule à l'ouverture d'un lien hypertexte

Bonjour frasylest,

Ce que vous voulez faire (mémoriser les cellules actives) n'est pas possible par formule.

Il faut du VBA et ce n'est pas très simple, voyez le fichier joint (Alt+F11).

Dans Module1 :

Code:
Public tablo$() 'mémorise la variable

Sub MemoriseCelluleActive()
Dim F As Object, i As Integer
Set F = ActiveSheet
ReDim tablo(1 To Worksheets.Count, 1 To 2)
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive l'action des événements
For i = 1 To Worksheets.Count
  Worksheets(i).Activate
  tablo(i, 1) = Worksheets(i).CodeName
  tablo(i, 2) = ActiveCell.Address
Next
F.Activate
Application.EnableEvents = True 'réactive l'action des événements
End Sub
Dans ThisWorkbook :

Code:
Private Sub Workbook_Open()
MemoriseCelluleActive
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If Target.Address <> "$A$1" Then MemoriseCelluleActive
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next 'si l'on ajoute des feuilles
Sh.Range(Application.VLookup(Sh.CodeName, tablo, 2, 0)).Select
End Sub
Si votre niveau en VBA est faible vous aurez des difficultés à comprendre.

Nota : il est rare que j'utilise Select et Activate en VBA...

Edit : finalement c'est un joli problème, j'ai mis un Like au post #1 🙂

A+
 

Pièces jointes

Dernière édition:
Re : (Résolu) Choix de cellule à l'ouverture d'un lien hypertexte

Re,

La solution précédente est lourde car toutes les feuilles sont étudiées (activées) à chaque sélection.

Voici une solution bien meilleure.

La cellule active de chaque feuille est nommée avec le CodeName de la feuille :

Code:
Private Sub Workbook_Open()
Dim F As Object, w As Worksheet
Set F = ActiveSheet
Application.ScreenUpdating = False
For Each w In Worksheets
  w.Activate
  ActiveCell.Name = w.CodeName
Next
F.Activate
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If Target.Address <> "$A$1" Then ActiveCell.Name = Sh.CodeName
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next 'si l'on ajoute des feuilles
Evaluate(Sh.CodeName).Select
End Sub
Fichier (2).

A+
 

Pièces jointes

Dernière édition:
Re : (Résolu) Choix de cellule à l'ouverture d'un lien hypertexte

Merci de cette recherche plus poussée, c'est vrai que c'est encore mieux. Par contre je ne trouve pas le code sur la feuille comme les précédentes. (je fais -develolppeur, macro et c'est vide)
Sylvain
 
- 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

Discussions similaires

Retour