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

Nom de la cellule active

5 réponses
Avatar
JPG
Bonjour,
Je cherche à récupérer le nom (pas l'adresse) de la cellule active
avec ActiveCell.Name mais ça me renvoie qqchose du genre 'P6'!$B$2 et non
R_999 (par ex.)
D'avance merci...
jpg

5 réponses

Avatar
Daniel.C
Bonjour.
Note que la cellule peut faire partie d eplusieurs plages nommées :

Sub test()
Dim n As Name
For Each n In ActiveWorkbook.Names
Var = Range(n).Value
If Not Intersect(ActiveCell, Range(n)) Is Nothing Then
MsgBox n.NameLocal
End If
Next n
End Sub

Cordialement.
Daniel
"JPG" <~ a écrit dans le message de news:

Bonjour,
Je cherche à récupérer le nom (pas l'adresse) de la cellule active
avec ActiveCell.Name mais ça me renvoie qqchose du genre 'P6'!$B$2 et non
R_999 (par ex.)
D'avance merci...
jpg




Avatar
JPG
Merci et bon we
"Daniel.C" a écrit dans le message de news:

Bonjour.
Note que la cellule peut faire partie d eplusieurs plages nommées :

Sub test()
Dim n As Name
For Each n In ActiveWorkbook.Names
Var = Range(n).Value
If Not Intersect(ActiveCell, Range(n)) Is Nothing Then
MsgBox n.NameLocal
End If
Next n
End Sub

Cordialement.
Daniel
"JPG" <~ a écrit dans le message de news:

Bonjour,
Je cherche à récupérer le nom (pas l'adresse) de la cellule active
avec ActiveCell.Name mais ça me renvoie qqchose du genre 'P6'!$B$2 et non
R_999 (par ex.)
D'avance merci...
jpg








Avatar
JPG
Re bonjour,
J'ai un message d'erreur (err04, La méthode 'Intersect' de l'objet
'_Global' a échoué) sur la ligne If Not Intersect(ActiveCell, Range(n)) Is
Nothing Then, et même avec un On Error... ça plante.
En fait, j'ai l'impression que ça fonctionne au premier passage dans la
boucle...

Une idée ?
Merci
"Daniel.C" a écrit dans le message de news:

Bonjour.
Note que la cellule peut faire partie d eplusieurs plages nommées :

Sub test()
Dim n As Name
For Each n In ActiveWorkbook.Names
Var = Range(n).Value
If Not Intersect(ActiveCell, Range(n)) Is Nothing Then
MsgBox n.NameLocal
End If
Next n
End Sub

Cordialement.
Daniel
"JPG" <~ a écrit dans le message de news:

Bonjour,
Je cherche à récupérer le nom (pas l'adresse) de la cellule active
avec ActiveCell.Name mais ça me renvoie qqchose du genre 'P6'!$B$2 et non
R_999 (par ex.)
D'avance merci...
jpg








Avatar
Daniel.C
Voici le classeur (simpliste) qui m'a servi de test. Peux-tu ajouter le cas
qui fait planter la macro (ou poster un autre classeur) :
http://cjoint.com/?ezrMFezUal
Daniel
"JPG" <~ a écrit dans le message de news:
%
Re bonjour,
J'ai un message d'erreur (err04, La méthode 'Intersect' de l'objet
'_Global' a échoué) sur la ligne If Not Intersect(ActiveCell, Range(n))
Is Nothing Then, et même avec un On Error... ça plante.
En fait, j'ai l'impression que ça fonctionne au premier passage dans la
boucle...

Une idée ?
Merci
"Daniel.C" a écrit dans le message de news:

Bonjour.
Note que la cellule peut faire partie d eplusieurs plages nommées :

Sub test()
Dim n As Name
For Each n In ActiveWorkbook.Names
Var = Range(n).Value
If Not Intersect(ActiveCell, Range(n)) Is Nothing Then
MsgBox n.NameLocal
End If
Next n
End Sub

Cordialement.
Daniel
"JPG" <~ a écrit dans le message de news:

Bonjour,
Je cherche à récupérer le nom (pas l'adresse) de la cellule active
avec ActiveCell.Name mais ça me renvoie qqchose du genre 'P6'!$B$2 et
non
R_999 (par ex.)
D'avance merci...
jpg












Avatar
JPG
Bonjour,
Sub test()
Dim n As Name
For Each n In ActiveWorkbook.Names
Var = Range(n).Value
===>ça plante ici : If Not Intersect(ActiveCell, Range(n)) Is Nothing
Then
MsgBox n.NameLocal
End If
Next n
End Sub
Note :
ça plante dès qu'il y a plusieurs noms dans le classeur (La méthode
'Intersect' de l'objet
'_Global' a échoué) sur la ligne If Not Intersect(ActiveCell, Range(n))
J'ai trouvé une alternative :
Dans ma procédure
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
...
...
Rg = Target.Address
NomCellule = ActiveWorkbook.Names(Range(Rg)).NameLocal
...
...
End Sub

Merci et bon we,
jpg


"Daniel.C" a écrit dans le message de news:

Voici le classeur (simpliste) qui m'a servi de test. Peux-tu ajouter le
cas qui fait planter la macro (ou poster un autre classeur) :
http://cjoint.com/?ezrMFezUal
Daniel
"JPG" <~ a écrit dans le message de news:
%
Re bonjour,
J'ai un message d'erreur (err04, La méthode 'Intersect' de l'objet
'_Global' a échoué) sur la ligne If Not Intersect(ActiveCell, Range(n))
Is Nothing Then, et même avec un On Error... ça plante.
En fait, j'ai l'impression que ça fonctionne au premier passage dans la
boucle...

Une idée ?
Merci
"Daniel.C" a écrit dans le message de news:

Bonjour.
Note que la cellule peut faire partie d eplusieurs plages nommées :

Sub test()
Dim n As Name
For Each n In ActiveWorkbook.Names
Var = Range(n).Value
If Not Intersect(ActiveCell, Range(n)) Is Nothing Then
MsgBox n.NameLocal
End If
Next n
End Sub

Cordialement.
Daniel
"JPG" <~ a écrit dans le message de news:

Bonjour,
Je cherche à récupérer le nom (pas l'adresse) de la cellule active
avec ActiveCell.Name mais ça me renvoie qqchose du genre 'P6'!$B$2 et
non
R_999 (par ex.)
D'avance merci...
jpg