Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Nom d'une zone

3 réponses
Avatar
Gilbert
Bonjour,

J'ai dans une feuille plusieurs groupes de cellules nommées.
Lorsque je double-clique sur une de ces zones, j'exécute une procédure.
Comment dans cette procédure puis-je récupérer le nom de la zone sur
laquelle j'ai double-cliqué?
J'ai essayé Target.name mais ça me renvoie une erreur

Merci d'avance
--
Cordialement,

Gilbert

3 réponses

Avatar
JB
Bonjour,


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each n In ActiveWorkbook.Names
If Not Intersect(Range(n.Name), Target) Is Nothing Then
MsgBox n.Name
End If
Next n
End Sub

http://cjoint.com/?dnkBPaAcKN

JB
http://boisgontierjacques.free.fr/


On 13 mar, 09:27, "Gilbert" wrote:
Bonjour,

J'ai dans une feuille plusieurs groupes de cellules nommées.
Lorsque je double-clique sur une de ces zones, j'exécute une procédure .
Comment dans cette procédure puis-je récupérer le nom de la zone sur
laquelle j'ai double-cliqué?
J'ai essayé Target.name mais ça me renvoie une erreur

Merci d'avance
--
Cordialement,

Gilbert


Avatar
Gilbert
Impeccable

Merci

--
Cordialement,

Gilbert


"JB" a écrit dans le message de
news:
Bonjour,


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each n In ActiveWorkbook.Names
If Not Intersect(Range(n.Name), Target) Is Nothing Then
MsgBox n.Name
End If
Next n
End Sub

http://cjoint.com/?dnkBPaAcKN

JB
http://boisgontierjacques.free.fr/


On 13 mar, 09:27, "Gilbert" wrote:
Bonjour,

J'ai dans une feuille plusieurs groupes de cellules nommées.
Lorsque je double-clique sur une de ces zones, j'exécute une procédure.
Comment dans cette procédure puis-je récupérer le nom de la zone sur
laquelle j'ai double-cliqué?
J'ai essayé Target.name mais ça me renvoie une erreur

Merci d'avance
--
Cordialement,

Gilbert


Avatar
PMO
Bonjour,

Un piste avec le code évenementiel suivant


'***************************
Private Sub Worksheet_BeforeDoubleClick( _
ByVal Target As Range, Cancel As Boolean)
Dim N As Name
Dim A$
Dim R As Range
For Each N In ActiveWorkbook.Names
A$ = N.RefersTo
If Left(A$, 1) = "=" And InStr(1, A$, "!") Then
A$ = Mid(A$, InStrRev(A$, "!") + 1)
Set R = Application.Intersect(Range(A$), Target)
If Not R Is Nothing Then
MsgBox N.Name 'pour visualiser le nom
'--- à adapter ---
''If N.Name = "zaza" Then Call ma_procédure
'-----------------
End If
End If
Next N
Cancel = True 'pour déselectionner le doubleclick
End Sub
'***************************

Cordialement.

--
PMO
Patrick Morange