récupérer le nom d'une plage en cliquant sur une cellule
Hello, j'aimerais pouvoir récupérer en VBA le nom d'une plage de cellules en cliquant sur une seule cellule Excel.
J'ai défini 2 zones de cellules fusionnées:
Code:
1 2
| Range("B1:E1").Merge
Range("A2:F2").Merge |
Puis j'ai défini 1 seul nom pour l'ensemble de ces 2 zones :
Code:
1 2
| Range("B1:E1,A2:F2").Select
ActiveWorkbook.Names.Add Name:="gaga", RefersToR1C1:="=Feuil1!R1C2,Feuil1!R2C1" |
Ceci me permet par exemple de changer la couleur de toute la zone facilement :
Code:
Range("gaga").Interior.Color = RGB(255, 0, 0)
Lorsque je clique sur une cellule de cet ensemble, je peux récupérer l'adresse d'une ou de quelques cellule(s) de cet ensemble :
Code:
1 2 3 4 5
| Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox Target.Address
' ou bien
MsgBox ActiveCell.Address
End Sub |
Ceci me donne un résultat du genre $A$2:$F$2 ou $B$1.
Mais ce que j'aimerais vraiment récupérer, c'est le nom de cet ensemble de cellules, ici "gaga" (par exemple pour changer sa couleur comme expliqué juste avant) ce que je ne sais malheureusement pas faire.
Quelqu'un a une idée ? (si possible simple et rapide car il y a une centaine de ces noms de définis sur des cellules différentes...)