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:
Puis j'ai défini 1 seul nom pour l'ensemble de ces 2 zones :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Range("B1:E1").Merge Range("A2:F2").Merge
Ceci me permet par exemple de changer la couleur de toute la zone facilement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Range("B1:E1,A2:F2").Select ActiveWorkbook.Names.Add Name:="gaga", RefersToR1C1:="=Feuil1!R1C2,Feuil1!R2C1"
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 : Sélectionner tout - Visualiser dans une fenêtre à part Range("gaga").Interior.Color = RGB(255, 0, 0)
Ceci me donne un résultat du genre $A$2:$F$2 ou $B$1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox Target.Address ' ou bien MsgBox ActiveCell.Address End Sub
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...)
Partager