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

XL 2016 lien hypertexte suivant la valeur aléatoire d'une cellule

jmarc01

XLDnaute Nouveau
bonjour a tous voici mon soucis je souhaiterais avoir un lien hypertexte qui suivant la valeur afficher de la cellule me renvoi sur cette cellule inscrite.
exemple ma cellule en a1 valeur a2355(valeur de cellule qui peut changer)
je souhaite cliquer dessus et aller directement a la ligne 2355.
a savoir que j ai environ 12000 ligne avec des valeur qui ne sont pas dans l'ordre croissant.
merci d avance.
jmarc
 
Solution
Bonjour Jmarc, Job,
C'était bien expliqué ... mais mal lu.
Là ça marche mieux :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        Ligne = 1 + Application.Match([A1], Range("A2:A65000"), 0)
        [B1] = "Ligne " & Ligne
        Range("A" & Ligne).Select
    End If
Fin:
End Sub
J'ai rajouté le N° de ligne. Si inutile supprimez la ligne [B1] = "Ligne " & Ligne

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Jmarc,
En PJ un essai avec un Worksheet_Change :
Code:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        Range("A" & Target.Value).Select
    End If
Fin:
End Sub
Quand on tape une valeur en A1 on va à la ligne correspondante.
 

Pièces jointes

  • Jmarc.xlsm
    13.3 KB · Affichages: 7

job75

XLDnaute Barbatruc
Bonjour jmarc01, bienvenue sur XLD, sylvanu,

Pour créer le lien hypertexte :
VB:
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target(1) >= 1 And Target(1) <= Rows.Count Then _
    Hyperlinks.Add Target, "", "'" & Me.Name & "'!A" & Int(Target): Target.Select
End Sub
Edit : la valeur en A1 doit être un nombre, seule la partie entière est utilisée.

A+
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Jmarc, Job,
C'était bien expliqué ... mais mal lu.
Là ça marche mieux :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        Ligne = 1 + Application.Match([A1], Range("A2:A65000"), 0)
        [B1] = "Ligne " & Ligne
        Range("A" & Ligne).Select
    End If
Fin:
End Sub
J'ai rajouté le N° de ligne. Si inutile supprimez la ligne [B1] = "Ligne " & Ligne
 

Pièces jointes

  • Jmarc2.xlsm
    106.9 KB · Affichages: 10

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…