Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Propriété NameLocal

34 réponses
Avatar
Alain
J'essaye de créer un nom localisé avec la propriété NameLocal mais ça ne
fonctionne pas.

Si je fais pas exemple:
Names.Add Name:="Period", NameLocal:="Période", RefersTo:="=Test!$C:$C"

Mais NameLocal a alors la même valeur que Name, qui est "Period".

Merci!

4 réponses

1 2 3 4
Avatar
Alain
Puisse que pour le même objet Name la valeur de la propriété Name diffère de
la valeur de la propriété NameLocal et puisse que "Database" est
l'équivalent anglais pour "Base_de_donnees", ça nous permet de conclure que
contrairement à ce que tu prétendais la propriété NameLocal à tout a voir
avec le langage et non avec l'étendu...

Ce qui ne veux pas dire que ce soit possible de leur donner des valeurs
différente soi-même en VBA mais ça reste quand même une propriété relié au
langage de l'utilisateur...
Sans que ce soit un gros bug il se peut que Microsoft ne puisse pas
permettre de le faire avec VBA et que l'on doive utiliser les Visual Studio
Office Tools pour ce faire...

Pour ce qui est des syntaxes que tu a donné, nul besoin d'utiliser la
propriété NameLocal pour avoir deux noms différents pointant sur la même
plage:
Names.Add Name:="Denis", RefersTo:=Range("A:A")
Names.Add Name:="OK", RefersTo:=Range("A:A")
donneront le même résultat...



"michdenis" wrote in message
news:uB9qyE$
'------------------------------------
Names.Add Name:="Base_de_données", RefersTo:¬tiveSheet.UsedRange
? Names("Base_de_Données").Name
Database

? Names("DataBase").NameLocal
Base_de_données
'------------------------------------

Le fait que cela fonctionne dans la fenêtre "Exécuter" nous permet de
conclure QUOI ?

La difficulté consiste à définir une plage nommée dont nous pourrions
ajouté un "second nom"
au premier. J'ai déjà donné ces syntaxes mais cela crée 2 noms différents
pointant vers la même plage de cellules.

Names.Add RefersTo:=Range("A:A"), NameLocal:="Ok"
Names.Add Name:="Denis", RefersTo:=Range("A:A")

Si on utilise ceci :
Names.Add Name:="Denis", RefersTo:=Range("A:A"), NameLocal:="Ok"

L'appellation "OK" fait référence à rien.

Pourtant la propriété est bien définie : on peut utiliser ce code :
'---------------------------------------
Sub test()
'Définir un nom "Denis" -> Ok ne sert à rien
Names.Add Name:="Denis", RefersTo:=Range("A:A"), NameLocal:="Ok"

'Ceci modifie le nom "Denis" pour "OK"
'Résultat le nom "Denis" est remplacé.
'Seul le nom Ok existe à la fin de l'opération.
With Names("Denis")
.NameLocal = "ok"
.Name = .Name
End With

End Sub
'---------------------------------------

Si cela doit faire ce que tu prétends, on fait face à un gros "BUG" me
semble-t-il ?







"Alain" a écrit dans le message de news:
utE86g%
Denis,

Le contenu à l'adresse spécifié fait en fait référence aux objets Name et
Style en indiquant que la propriété est en lecture seulement dans le cas
de l'objet Style

Voici le dit extrait:
NameLocal Property
Returns or sets the name of the object, in the language of the user.
Read/write String for Name, read-only String for Style.

L'exemple fourni dans la page n'est que pour l'objet Style mais la
description dis bien que ça s'applique aussi a l'objet Name

Pour ce qui est des tenants et aboutissants de mes propos as-tu seulement
essayé mon exemple de code avec "Base_de_donnees"?
Tu devrais au moins l'essayer et me faire part de ton résultat avant de
persister dans tes propos ;-)


"michdenis" wrote in message
news:uYNd2$
Bonjour Frédéric,

Le contenu à l'adresse spécifiée fait référence à la collection "Styles"
et non "Names".

Il est peut être malheureux que Microsoft ait choisi ce type
d'appellation "Name" et "NameLocal" dans le cas de la collection
"Names" car dans ce dernier cas, la signification n'a rien à voir avec
la langue comme dans d'autres cas. La méprise est alors plus facile.

Qui sait, si vous continuer à chercher, vous arrivez peut être à
démontrer les tenants et les aboutissants de vos propos ! En plus, vous
aurez fait ma journée !
;-)



"FS" a écrit dans le message de news:

Bonjour,

Une info from Microsoft, qui relie "Local" à une question de langue :

http://msdn.microsoft.com/en-us/library/aa169726%28office.10,lightweight%29.aspx

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Daniel.C a écrit :
Bonjour Denis.
Pour ma culture perso, tu pourrais me dire quelle est l'utilité de
NameLocal ?
Daniel

pouvoir l'éviter avec NameLocal qui est la justement pour gérer les
noms
localisés...



Absolument pas ! et ce jusqu'à preuve du contraire ! Le paramètre
"NameLocal"
n'a pas le rôle d'ajouter une expression de remplacement à un nom
selon la
langue de l'usager ou le bon vouloir de ce dernier !

Lorsque de la création d'un nom, ces 2 paramètres sont exclusifs, tu
peux
utiliser l'un ou l'autre mais en aucune circonstances, tu pourras
créer un nom
avec une "appellation secondaire" interchangeable au gré de l'usager
et ce,
parce que tu auras utilisé et défini les 2 paramètres dans la même
ligne de
commande en créant le nom de la plage désignée.

Je sais, il est facile de s'y méprendre lorsqu'on compare avec ce
type de
propriétés : Range("A1").Formula -> FormulaLocal
Range("A1").NumberFormat -> NumberFormatLocal

On peut créer un nom de cette manière :
Range("A1").Name = "Denis"
Observe le message d'erreur si tu tentes d'utiliser ceci car
la propriété NameLocal de l'objet Range n'existe pas...(non définie)
Range("A1").NameLocal = "OK"

Autre exemple :
'-------------------------------------
Sub test()
Dim Nom As String
Dim NomLocal As String

Names.Add "Denis", RefersTo:=Range("A1"), NameLocal:="Toto"
Nom = Names("Denis").NameLocal
NomLocal = Names("Denis").Name
End Sub
'-------------------------------------

"Toto" ne fait référence à RIEN.
















Avatar
michdenis
| puisse que "Database" est l'équivalent anglais pour "Base_de_donnees",
| ça nous permet de conclure que contrairement à ce que tu prétendais
| la propriété NameLocal à tout a voir avec le langage et non avec l'étendu...

**** Tu veux dire que les ingénieurs auraient créé une propriété "NameLocal"
pour ne traduire que cette expression ? Selon moi, Si c'est vrai, cela
ne relève pas du génie !

**** Par ailleurs, si ton énoncé était vrai, j'aimerais bien que tu documentes où
dans la littérature d'Excel il est question de l'existence d'un "NOM" : "DataBase"
créé par l'application elle-même Et à quelles fins ce nom est utilisé par Excel.
Ton exemple est plutôt évasif sur le sujet.

**** En supposant que cette propriété ne soit utile que pour traduire les
"Noms" built-in de l'application, Comment de "NOMS" connais-tu
pour lesquels la propriété s'applique ?

**** Je veux bien que ce ne soit pas un BUG, mais pour l'instant il est difficile
d'y trouver une application spécifique.

| Pour ce qui est des syntaxes que tu a donné, nul besoin d'utiliser la
| propriété NameLocal pour avoir deux noms différents pointant sur la
| même plage:
| Names.Add Name:="Denis", RefersTo:=Range("A:A")
| Names.Add Name:="OK", RefersTo:=Range("A:A")
| donneront le même résultat...

**** L'exemple de code que j'ai donné était pour démontrer que les
2 paramètres "Name" et "NameLocal" avait été défini dans la
méthode "ADD" et que l'une ou l'autre des syntaxes donnaient
le même résultat. (Et rien à voir avec le langage)
Names.Add RefersTo:=Range("A:A"), NameLocal:="Ok"
Names.Add Name:="Denis", RefersTo:=Range("A:A")

**** Toutes mes excuses à Daniel, dans une de mes interventions,
j'ai émis l'hypothèse que cela pouvait être utile pour définir
l'étendue de la plage, des tests supplémentaires ne supportent
pas cet argumentaire.
Avatar
Alain
Je ne sais pas d'ou tu tiens qu'ils auraient créé cette propriété pour cette
expression seulement... Il y a plusieurs autres objets Name prédéfinis mais
l'exemple d'un seul suffisait pour démontrer l'usage de la propriété
NameLocal qui ne s'applique d'ailleurs pas seulement à l'objet Name mais
aussi à l'objet Style...

Pour l'objet Name si tu tiens absolument à avoir la liste de ses noms
prédéfinis ce sont les suivants: Consolidate_Area, Print_Titles, Auto_Open,
Recorder, Auto_Close, Data_Form, Extract, Auto_Activate, Database,
Auto_Deactivate, Criteria, Sheet_Title, and Print_Area.

Peut importe comment est utilisé le nom Database puisse que mon but n'était
pas de te donner un cours sur Excel mais de démontrer que la propriété
NameLocal était liée au langage utilisateur ce qui ne nécessite pas d'entrer
dans les détails de son utilisation... Le fait qu'en créant un nom Database
il assigne automatiquement le nom Base_de_donnes à la propriété NameLocal
prouve qu'elle est liée à la langue...

Je ne vois pas comment tu peux trouver difficile de trouver une application
spécifique à cette propriété quand je te démontre justement qu'elle offre un
nom alternatif dans la langue de l'utilisateur ce qui me semble être assez
spécifique...

Ta tentative de me démontrer que l'utilisation de la propriété NameLocal
donne le même résultat que l'utilisation de la propriété Name est plutôt
futile puisse que c'est justement le problème que j'expliquais avoir alors
que je souhaitais des valeurs distincts...



"michdenis" wrote in message
news:
| puisse que "Database" est l'équivalent anglais pour "Base_de_donnees",
| ça nous permet de conclure que contrairement à ce que tu prétendais
| la propriété NameLocal à tout a voir avec le langage et non avec
l'étendu...

**** Tu veux dire que les ingénieurs auraient créé une propriété
"NameLocal"
pour ne traduire que cette expression ? Selon moi, Si c'est vrai,
cela
ne relève pas du génie !

**** Par ailleurs, si ton énoncé était vrai, j'aimerais bien que tu
documentes où
dans la littérature d'Excel il est question de l'existence d'un
"NOM" : "DataBase"
créé par l'application elle-même Et à quelles fins ce nom est
utilisé par Excel.
Ton exemple est plutôt évasif sur le sujet.

**** En supposant que cette propriété ne soit utile que pour traduire les
"Noms" built-in de l'application, Comment de "NOMS" connais-tu
pour lesquels la propriété s'applique ?

**** Je veux bien que ce ne soit pas un BUG, mais pour l'instant il est
difficile
d'y trouver une application spécifique.

| Pour ce qui est des syntaxes que tu a donné, nul besoin d'utiliser la
| propriété NameLocal pour avoir deux noms différents pointant sur la
| même plage:
| Names.Add Name:="Denis", RefersTo:=Range("A:A")
| Names.Add Name:="OK", RefersTo:=Range("A:A")
| donneront le même résultat...

**** L'exemple de code que j'ai donné était pour démontrer que les
2 paramètres "Name" et "NameLocal" avait été défini dans la
méthode "ADD" et que l'une ou l'autre des syntaxes donnaient
le même résultat. (Et rien à voir avec le langage)
Names.Add RefersTo:=Range("A:A"), NameLocal:="Ok"
Names.Add Name:="Denis", RefersTo:=Range("A:A")

**** Toutes mes excuses à Daniel, dans une de mes interventions,
j'ai émis l'hypothèse que cela pouvait être utile pour définir
l'étendue de la plage, des tests supplémentaires ne supportent
pas cet argumentaire.




Avatar
michdenis
Il faut séparer les notions utilisées "Name" et "NameLocal"
lorsqu'elles sont employées comme paramètres dans la
création d'un nouveau nom ou comme propriété d'un objet "Name".

Les 2 syntaxes suivantes sont équivalentes et aucune distinction
"connue" existe quant au résultat pour la création d'un nom.
Names.Add RefersTo:=Range("A:A"), NameLocal:="Ok"
Names.Add Name:="Denis", RefersTo:=Range("A:A")

Par contre, à travers diverses opérations qu'effectuent Excel,
L'application crée lui même des plages nommées qu'ils utilisent
pour l'exécution des commandes qu,on lui demandent. Pour
ce faire, Excel a recours à des appellations contrôlées (noms) "Built-In"
dans son système. Vous aurez compris que ces noms sont en anglais.

À cet égard, la propriété "NameLocal" d'un objet "Name" retourne
une expression dans la langue de l'application.
Exemple :
With Names("Print_Area")
Msgbox .NameLocal
End With
Le nom retourné est : Feuil1!zone_d_impression
IMPORTANT : une zone d'impression doit avoir été définie
dans la feuille au préalable évidemment.

Des appellations que tu as soumis, ceux-ci représentent dans la
version précédente des noms de macros événementielles.
Ce ne sont pas des plages de cellules
Auto_Open, Auto_Close, Auto_Activate, Auto_Deactivate

2 objets d'excel :
Recorder -> l'enregistreur de macro
Data_Form -> le formulaire de saisi

le nom des plages de cellules "Built-in" dans Excel. Ces derniers existes
que si l'objet auquel le nom est associé existe dans la feuille de calcul.
Voici la liste des noms existants (probablement pas exhaustive) avec
leur utilité.

Database : à définir le contexte dans lequel Excel l'utilise !

Print_Area : Nom "built-in" utilisé par excel lorsque l'on défini
la plage de cellules à imprimer d'une feuille.
Print_Titles : Les lignes ou les colonnes à répéter sur chacune des
feuilles lors de l'impression. Évidemment, ces plages
doivent avoir été définies au préalable.
Pour un supplément d'information, il y a ce site, ces notions
remontent à la version Excel 5 voir ...4.
http://www.primeconsulting.com/faqs/faq4800.html

Criteria : Nom "built-in" qu'utilise excel pour la zone de critère
d'un filtre élaboré
Via l'interface de calcul, il est appelé "Criteres"

Extract : Nom "built-in" Zone que l'on définit où les données d'un filtre élaboré seront
copiées
Via l'interface de calcul, il est appelé "Extraire"

Consolidate_Area : plage de consolidation

Sheet_Title : Relatif lors de la création d'une consolidation pour
afficher les étiquettes de colonne de gauche à partir
de la boîte de dialogue

_FilterDatabase : Représente la plage de cellules sur laquelle s'est effectuée un filtre

Il y aurait aussi selon un Post Jan Karel Pieterse, Excel TA/MVP
******************************************
If on the same sheet you have set up custom views, You get strange
names like:

Sheet1!Z_ACEBDD96_AAB3_4874_A7A8_EDD8D679EAE5_.wvu.FilterCriteria
Sheet1!Z_ACEBDD96_AAB3_4874_A7A8_EDD8D679EAE5_.wvu.FilterData

(each view adds a set of two names like this, the gibberish seems to
relate to the name of the view)

If you add reports using the Report manager, you get names like this:

wrn.newreport.

Where newropert reflects the name of the report.
******************************************





"Alain" a écrit dans le message de groupe de discussion :

Je ne sais pas d'ou tu tiens qu'ils auraient créé cette propriété pour cette
expression seulement... Il y a plusieurs autres objets Name prédéfinis mais
l'exemple d'un seul suffisait pour démontrer l'usage de la propriété
NameLocal qui ne s'applique d'ailleurs pas seulement à l'objet Name mais
aussi à l'objet Style...

Pour l'objet Name si tu tiens absolument à avoir la liste de ses noms
prédéfinis ce sont les suivants: Consolidate_Area, Print_Titles, Auto_Open,
Recorder, Auto_Close, Data_Form, Extract, Auto_Activate, Database,
Auto_Deactivate, Criteria, Sheet_Title, and Print_Area.

Peut importe comment est utilisé le nom Database puisse que mon but n'était
pas de te donner un cours sur Excel mais de démontrer que la propriété
NameLocal était liée au langage utilisateur ce qui ne nécessite pas d'entrer
dans les détails de son utilisation... Le fait qu'en créant un nom Database
il assigne automatiquement le nom Base_de_donnes à la propriété NameLocal
prouve qu'elle est liée à la langue...

Je ne vois pas comment tu peux trouver difficile de trouver une application
spécifique à cette propriété quand je te démontre justement qu'elle offre un
nom alternatif dans la langue de l'utilisateur ce qui me semble être assez
spécifique...

Ta tentative de me démontrer que l'utilisation de la propriété NameLocal
donne le même résultat que l'utilisation de la propriété Name est plutôt
futile puisse que c'est justement le problème que j'expliquais avoir alors
que je souhaitais des valeurs distincts...



"michdenis" wrote in message
news:
| puisse que "Database" est l'équivalent anglais pour "Base_de_donnees",
| ça nous permet de conclure que contrairement à ce que tu prétendais
| la propriété NameLocal à tout a voir avec le langage et non avec
l'étendu...

**** Tu veux dire que les ingénieurs auraient créé une propriété
"NameLocal"
pour ne traduire que cette expression ? Selon moi, Si c'est vrai,
cela
ne relève pas du génie !

**** Par ailleurs, si ton énoncé était vrai, j'aimerais bien que tu
documentes où
dans la littérature d'Excel il est question de l'existence d'un
"NOM" : "DataBase"
créé par l'application elle-même Et à quelles fins ce nom est
utilisé par Excel.
Ton exemple est plutôt évasif sur le sujet.

**** En supposant que cette propriété ne soit utile que pour traduire les
"Noms" built-in de l'application, Comment de "NOMS" connais-tu
pour lesquels la propriété s'applique ?

**** Je veux bien que ce ne soit pas un BUG, mais pour l'instant il est
difficile
d'y trouver une application spécifique.

| Pour ce qui est des syntaxes que tu a donné, nul besoin d'utiliser la
| propriété NameLocal pour avoir deux noms différents pointant sur la
| même plage:
| Names.Add Name:="Denis", RefersTo:=Range("A:A")
| Names.Add Name:="OK", RefersTo:=Range("A:A")
| donneront le même résultat...

**** L'exemple de code que j'ai donné était pour démontrer que les
2 paramètres "Name" et "NameLocal" avait été défini dans la
méthode "ADD" et que l'une ou l'autre des syntaxes donnaient
le même résultat. (Et rien à voir avec le langage)
Names.Add RefersTo:=Range("A:A"), NameLocal:="Ok"
Names.Add Name:="Denis", RefersTo:=Range("A:A")

**** Toutes mes excuses à Daniel, dans une de mes interventions,
j'ai émis l'hypothèse que cela pouvait être utile pour définir
l'étendue de la plage, des tests supplémentaires ne supportent
pas cet argumentaire.




1 2 3 4