VBA Excel définir un nom d'une plage

Résolu/Fermé
ptiramissu - 8 nov. 2008 à 09:42
 ptiramissu - 8 nov. 2008 à 10:31
Bonjour,

je souhaite attribuer le nom "toto" à une plage dans Excel. La procédure VBA marche très bien lorsque je précise le nom de l'onglet du classeur Excel dans VBA. Par exemple, si l'onglet s'appelle "azerty", la proc suivante marche parfaitement :

Range("A2", Range("A2").End(xlDown).End(xlToRight)).Select
Names.Add Name:="toto", RefersTo:="=azerty!" & Selection.Address

Mais je ne sais pas pourquoi la procédure ne fonctionne pas si le nom de l'onglet n'est pas précisé (je voudrais éviter de modifier la procédure à chaque fois que je la lance sur des feuilles qui n'ont pas toujours le même nom.


Range("A2", Range("A2").End(xlDown).End(xlToRight)).Select
Names.Add Name:="toto", RefersTo:="=ActiveSheet!" & Selection.Address


Merci pour votre aide

Ptiramissu
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
8 nov. 2008 à 09:48
Bonjour,

Range("A2", Range("A2").End(xlDown).End(xlToRight)).Select
Names.Add Name:="toto", RefersTo:="=" & ActiveSheet.Name & "!" & Selection.Address
9
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 707
8 nov. 2008 à 10:21
bonjour

Pour fonctionner avec des espaces dans le nom de la feuille ne pas oublier '

Names.Add Name:="toto", RefersTo:="='" & ActiveSheet.Name & "'!" & Selection.Address
5
merci beaucoup ; ça marche parfaitement
0