Petite macro VBA qui permet de changer de manière récursive le nom des cellules (le nom pas les valeurs).
Cette exemple
- Boucle sur la première ligne A1, B2, C3 …
- Vérifie si le contenu de ce champ
- Si non vide, il renomme la cellule juste en dessous (A2, B2, C2 …) avec le contenu de la cellule initiale.
Sub NommerChamps() For Each c In Range([A1], [IV1].End(xlToLeft)) If Not IsEmpty(c) Then ActiveWorkbook.Names.Add Name:=c, RefersTo:="=" & Range(c.Offset(1, 0), c.Offset(1, 0)).Address End If Next End Sub
Nota la fonction offset(x,y) permet de se déplacer de de x,y depuis la cellule en focus.