Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Oui, tu peux le placer dans une macro évènementielle, par exemple à chaque fois que tu cliques sur la cellule en question, cela démasque l'onglet et te positionne dessus.
(du coup, plus besoin de lien hypertexte)
La macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :
Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim sa$, feuille$
On Error Resume Next
sa = Target.SubAddress
feuille = Left(sa, InStr(sa, "!") - 1)
With Sheets(feuille)
.Visible = True
.Activate
.Range(sa).Select
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [E7]) Is Nothing Then Exit Sub
If IsNumeric([E7]) And [E7] > 0 Then [E4].Cut [IV1] _
Else If [IV1] <> "" Then [IV1].Cut [E4]
End Sub
merci job75
Juste encore petite demande si je souhaite que la cellule a prendre en compte est sur une feuille a ouvrire je modifie le code au niveau de [E7] c'est ça .. je mets le nons de la feuille comment .
Puisque c'est la modification (manuelle) de E7 qui déclenche la macro, il suffit de mettre le code dans la feuille de cette cellule.
Par contre si la cellule E4 du lien hypertexte se trouve dans une autre feuille, par exemple TOTO, écrire :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [E7]) Is Nothing Then Exit Sub
With Sheets("TOTO")
If IsNumeric([E7]) And [E7] > 0 Then .[E4].Cut .[IV1] _
Else If .[IV1] <> "" Then .[IV1].Cut .[E4]
End With
End Sub
Pardon
j 'ai du mal m 'exprimer, je souhaitreais que si la valeur cible de la feuille 2 et egal a zero le lien soit visible sil il est superieur a 0 il saut caché
je ni arrive pas jai modifié le code ( je l ai mis dans la bonne feuille )mais ça ne fonctionne pas
Private Sub Worksheet_Calculate(ByVal Range)
If Intersect(Target, [C5]) Is Nothing Then Exit Sub
If IsNumeric([C5]) And [C5] > 0 Then "feul1" [E4].Cut [IV1] _
Else If [IV1] <> "" Then [IV1].Cut "feuil1"[E4]
End Sub
je suis dessus depuis hier soir
pourriez vous m aider..
je mais le classeur pour que ce soit plus explicite ....
Private Sub Worksheet_Calculate()
With Sheets("Feuil1")
If IsNumeric([C5]) And [C5] > 0 Then .[E4].Cut .[IV1] _
Else If .[IV1] <> "" Then .[IV1].Cut .[E4]
End With
End Sub
Il faut revalider C5 pour que la formule se recalcule et déclenche la macro.
- 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