XL 2010 Création lien hypertexte avec choix de la cellule cible

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 !

Francky79

XLDnaute Occasionnel
Bonsoir,

Est-il possible dans la macro3 de rajouter un morceau de code pour pouvoir choisir la cellule cible dans la feuille (traitement) ?
Cellule cible A2 dans la macro.

Sub Macro3()
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Traitement!A2", TextToDisplay:="A"
End Sub

Merci de votre aide.
 
Solution
Il n'y a pas conflit, simplement il faut déclarer toutes les variables quand il y a Option Explicit :
VB:
Option Explicit 'tout en haut du module

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim champ As Range
Bonjour Francky79,

Placez dans le code de la Feuil1 du fichier joint (clic droit sur l'onglet et Visualiser le code) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i&
Set Target = Intersect(Target, [B:B], UsedRange)
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
On Error Resume Next
With Feuil2 'CodeName à adapter
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    For Each Target In Target 'si entrées/effacements multiples
        If Target.Row > 1 Then
            If LCase(Target) = "t" Then
                i = 0
                i = Application.Match(Target(1, 0), .Columns(1), 0)
                If i = 0 Then i = .Cells(.Rows.Count, 1).End(xlUp).Row + 1: .Cells(i, 1) = Target(1, 0)
                Hyperlinks.Add Target(1, 2), "", .Name & "!" & .Cells(i, 1).Address(0, 0), TextToDisplay:="A"
            ElseIf Target = "" Then
                Target(1, 2).Clear 'RAZ
                .Rows(Application.Match(Target(1, 0), .Columns(1), 0)).Delete
            End If
        End If
    Next
End With
[C:C].HorizontalAlignment = xlCenter 'centrage
Application.EnableEvents = True 'réactive les évènements
End Sub
Edit : .Clear mieux que .ClearContents

A+
 

Pièces jointes

Dernière édition:
Bonjour Job75,

Merci de ton aide, c'est exactement ce que je voulais.
Dans quel partie du code tu sélectionne la colonne A ?
Car je voudrais l'adapter sur une autre feuille mais la colonne A devient C et le "T" se trouve dans la colonne U.
Pour le "T" ok, je vois, mais pour la colonne C je suis trop nul.

Encore merci.
 
Ok, merci.
Pas simple; mais sa marche.
C'est que mon fichier final est assez lourd et de peur des faire des bêtises je préfère tester sur un fichier plus simple. Mais tu as raison car mon code ci-dessous ne marche plus. (position curseur)
Il y a conflit entre les deux.
Mais alors ou et pourquoi ?
Pourrais tu me donner ton avis.


Capture.JPG
 
Il n'y a pas conflit, simplement il faut déclarer toutes les variables quand il y a Option Explicit :
VB:
Option Explicit 'tout en haut du module

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim champ As Range
 
- 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

Réponses
21
Affichages
2 K
Réponses
7
Affichages
545
Retour