OVH Cloud OVH Cloud

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!

10 réponses

1 2 3 4
Avatar
michdenis
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
Alain
Oui j'avais vu cette info qui dit que je peux définir cette propriété pour
un objet Name mais l'exemple est seulement avec un objet Style ou elle est
en lecture seulement...

"FS" wrote in message
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
Misange
Salut Denis,
Je ne sais pas si j'aurais fait ta journée mais regarde cette page, elle
me semble très claire sur le sujet:

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

NameLocal Property

NameLocal property as it applies to the Language object.
Returns the name of a proofing tool language in the language of the
user. Read-only String.

expression.NameLocal
expression Required. An expression that returns a Language object.



NameLocal property as it applies to the Style object.
Returns the name of a built-in style in the language of the user.
Setting this property renames a user-defined style or adds an alias to a
built-in style. Read/write String.

expression.NameLocal

expression Required. An expression that returns a Style object.
Example
As it applies to the Language object.

This example displays the name of the German language two different ways
— first in the language of the user, and then in German.

MsgBox Languages(wdGerman).NameLocal
MsgBox Languages(wdGerman).Name

As it applies to the Style object.

This example displays the style name (in the language of the user)
applied to the selected paragraphs. If more than one style has been
applied to the selection, the first style name is displayed.

MsgBox Selection.Paragraphs.Style.NameLocal

This example adds the name "MyH1" as the alias for the Heading 1 style
in the active document.

ActiveDocument.Styles("Heading 1").NameLocal = "MyH1"

This example renames the style named "Test" to "Intro."

ActiveDocument.Styles("Test").NameLocal = "Intro"




Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !


michdenis a écrit :
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
Misange
de ce que je comprends, elle est en lecture seule pour les language
objects et read/write pour les styles

Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !


Alain a écrit :
Oui j'avais vu cette info qui dit que je peux définir cette propriété
pour un objet Name mais l'exemple est seulement avec un objet Style ou
elle est en lecture seulement...

"FS" wrote in message
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
Alain
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
Alain
Ça dit "Read/write String for Name, read-only String for Style."

Le Read/write s'applique pour Name et le read-only pour Style


"Misange" wrote in message
news:e$DspV#
de ce que je comprends, elle est en lecture seule pour les language
objects et read/write pour les styles

Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !


Alain a écrit :
Oui j'avais vu cette info qui dit que je peux définir cette propriété
pour un objet Name mais l'exemple est seulement avec un objet Style ou
elle est en lecture seulement...

"FS" wrote in message
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
Misange
je lis exactement l'inverse:

NameLocal property as it applies to the Language object.
Returns the name of a proofing tool language in the language of the
user. Read-only String.

NameLocal property as it applies to the Style object.
Returns the name of a built-in style in the language of the user.
Setting this property renames a user-defined style or adds an alias to a
built-in style. Read/write String.


Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !


Alain a écrit :
Ça dit "Read/write String for Name, read-only String for Style."

Le Read/write s'applique pour Name et le read-only pour Style


"Misange" wrote in message
news:e$DspV#
de ce que je comprends, elle est en lecture seule pour les language
objects et read/write pour les styles

Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur
excel !


Alain a écrit :
Oui j'avais vu cette info qui dit que je peux définir cette propriété
pour un objet Name mais l'exemple est seulement avec un objet Style
ou elle est en lecture seulement...

"FS" wrote in message
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
Alain
Bonjour,

Je suis certain que ça s'applique au langage utilisateur mais je crains
aussi que ce ne soit malheureusement pas possible en VBA malgré que la
documentation n'est vraiment pas claire à ce sujet alors j'espérais me
tromper...


"Misange" wrote in message
news:#
Bonjour,
Mon demi grain de sel:
Je pense effectivement que namelocal se réfère bien à la localization au
sens définition du langage de l'utilisateur d'excel.
Cependant, je crains qu'on ne puisse faire ce que tu souhaites Alain et
que cela se réfère à des noms prédéfinis dans l'application.
Ceci est un exemple de msdn:

With ActiveWorkbook.Styles(1)
MsgBox "The name of the style: " & .Name
MsgBox "The localized name of the style: " & .NameLocal
End With

En tous cas si tu trouves ce serait très pratique !
Dis nous

Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !


Alain a écrit :
Pour ton information Denis j'ai la preuve du contraire mais avec un nom
prédéfini et j'essaye de le reproduire avec des noms que je définirais
moi même...

Essaye ceci dans la Fenêtre Exécution:
Names.Add Name:="Base_de_Donnees", RefersTo:¬tiveSheet.UsedRange

Et ensuite:
? Names("Base_de_Donnees").Name
Retournera:
Database

? Names("Database").NameLocal
Retournera:
Base_de_Donnees


Ceci ne veut évidemment pas dire que je puisse le faire moi-même en VBA
mais ça prouve le rôle de NameLocal...

"michdenis" wrote in message
news:

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
'------------------------------------
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
Alain
Tu fais référence ici à l'objet Language qui est disponible dans Word mais
pas dans Excel alors que moi je faisais référence à l'objet Name à ne pas
confondre avec la propriété Name... Je change d'ailleurs sa valeur avec
succès pour l'objet Name sauf que la valeur de la propriété Name est alors
changé aussi alors que moi je voudrais que sa valeur soit distinct...

"Misange" wrote in message
news:O$JSI7#
je lis exactement l'inverse:

NameLocal property as it applies to the Language object.
Returns the name of a proofing tool language in the language of the user.
Read-only String.

NameLocal property as it applies to the Style object.
Returns the name of a built-in style in the language of the user. Setting
this property renames a user-defined style or adds an alias to a built-in
style. Read/write String.


Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !


Alain a écrit :
Ça dit "Read/write String for Name, read-only String for Style."

Le Read/write s'applique pour Name et le read-only pour Style


"Misange" wrote in message
news:e$DspV#
de ce que je comprends, elle est en lecture seule pour les language
objects et read/write pour les styles

Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel
!


Alain a écrit :
Oui j'avais vu cette info qui dit que je peux définir cette propriété
pour un objet Name mais l'exemple est seulement avec un objet Style ou
elle est en lecture seulement...

"FS" wrote in message
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.
















1 2 3 4