Trouver le paramètre "Etendue" dans WorkBook.Names

mécano41

XLDnaute Accro
Bonjour,

Dans le gestionnaire des noms d'un fichier, on trouve les colonnes "Nom", "Valeur", "Fait référence à" et "Etendue". En VBA, le nom se retrouve par .Name, la référence par .RefersTo mais je ne trouve rien pour l'étendue (classeur ou feuille)...Quelqu'un sait-il comment faire pour la récupérer ou pour l'imposer dans .Names.Add?

Merci d'avance,

Cordialement
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @mécano41,

Une piste : Extrait de l'aide d'Excel:
Référence du développeur Excel
Name.Propriété ValidWorkbookParameter
Cette propriété renvoie la valeur True si l'objet Name spécifié est un paramètre de classeur valide. Type de données Boolean en lecture seule.

Informations sur la version
Version ajoutée :
Excel 2007

Syntaxe

expression.ValidWorkbookParameter

expression Variable représentant un objet Name.

Lien supprimé


Voir aussi
  • Lien supprimé
  • Lien supprimé
 
Dernière édition:

mécano41

XLDnaute Accro
Bonjour mapomme,

Merci pour ta réponse. Je viens de me rendre compte qu'il faut d'abord que les feuilles départ et arrivée aient le même nom avant de lancer l'opération de copie des noms et dans ce cas, l'indication de la zone ou de l'étendue (classeur ou feuille XXX) se fait toute seule.

Dans mon cas, je n'en ai pas besoin mais je me pose cependant la question : comment fait-on pour créer directement des noms par VBA et les affecter à la zone souhaitée...?

Cordialement
 

mécano41

XLDnaute Accro
Bonjour,

...et finalement, cela ne va pas...(ou bien je n'ai pas compris!)

Dans le petit fichier joint, comment arriver, par VBA, à ce que le nom AAA soit affecté à la cellule A1 de chaque feuille, avec chaque feuille pour zone d'action, comme pour le nom XXX entré à la main par "Définir un nom"?

Le petit bout de code affecte le nom AAA seulement à la dernière feuille, et pour la zone "Classeur"

Pour ce qui était ma question d'origine, cela fonctionne car on recopie les paramètres (à condition d'avoir, comme je l'ai dit, les mêmes noms de feuilles dans le classeur Départ et dans le classeur Arrivée). Si un nom est pour la zone "Feuille1" au départ, il sera pour la même zone à l'arrivée ; s'il est pour "Classeur" au départ, il sera pour "Classeur" à l'arrivée. C'est ce que je cherchais à faire. Si, je voulais avoir des noms de feuilles différents de ceux du classeur départ pour le classeur arrivée, je pourrais évidemment modifier les noms pour le RefersTo mais ensuite, pour la zone, je feris comment???

Cordialement
 

Pièces jointes

  • Essai1.xlsm
    14.7 KB · Affichages: 24

eriiic

XLDnaute Barbatruc
Bonjour,
J'avais fait de mémoire, il en manquait un bout, désolé.
En regardant mes notes c'est plutôt comme ça :
VB:
Sub essai()
    Dim sh As Worksheet
    For Each sh In Worksheets
        sh.[A1].Name = sh.Name & "!AAA"
        'ou si tu préfères .Add
        sh.Names.Add Name:="BBB", RefersTo:=sh.[A1]
    Next sh
End Sub
Il faut indiquer la feuille des 2 cotés.
Il y a peut-être encore d'autres syntaxes (?)
eric
 
Dernière édition:

rezki

XLDnaute Nouveau
Bonjour,

si tu veux un nom de niveau feuille il faut le spécifier dans le nom :
Code:
[A1].Name = "'Feuil1'!nom_11"
sinon il est de niveau classeur
eric
Bonjour je ne sais pas si vous pourriez m'aider
j'ai une feuille indicateurs S1 la ou j'ai fais mes graphes cette dernière prend des valeurs de S1 mes graphes utilisent des noms définis sauf que quand j'ai copié ces 2 feuilles pour faire feuille S2 et feuille indicateurs S2 mes graphes prennent toujours les valeurs de s1 alors que j'ai essayé de prendre la plage des données de S2 mais ça revient toujours à S1 comme Les données des graphes utilisent les noms définies je me demande si à chaque fois il faut créer d'autres noms pr que ça marche ou si pourriez jeter un coup pour me donner une astuce pour que quand je copie mes feuilles S1 les nouvelles feuilles ne prennent pas les donnés de S1 sachant dans le fichier ci joint dans l'onglet indicateurs S2 le 1 er graphe à gauche qui est en fct des jours fonctionne bien mais celui à droite en fonction des semaines prend les valeurs de s1 je vous remets ci joint la feuille excel
ps: j'ai essayé de redéfinir ma zone du nom mais ça marche pas
merci
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 347
Membres
102 868
dernier inscrit
JJV