insertion definir un même nom sur plusieurs onglets d'un même fi ch

Le
ALF
Bonjour,

Sauf erreur de ma part ,il me semble que le nom d'une cellule est lié au
fichier et non pas à un onglet de ce fichier??
Je voudrais definir un nom nommé "NATIONAL" à la cellule A55 de mon fichier
TEST.XLS, mais ceci sur les 7 onglets de ce fichier et avec le même nom
chaque fois..
le probleme est que à chaque insertion /nom /definir la cellule fait
reference au nom defini sur le precedent onglet et ainsi de suite..cela a
pour consequence que si je crée une liste de choix avec donnee /validation
cela retourne une erreur "1004" "la methode range de l'objet worksheet a
echoué"
je vous laisse ci joint cette methode:

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = "$A$1" Then Range(Target).Select
End Sub

Comment resoudre ce probleme ??

Merci.
--
ALF
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #4329281
bonjour ALF,

utilise la fonction Indirect pour la référence,

=INDIRECT("A1")


isabelle


Bonjour,

Sauf erreur de ma part ,il me semble que le nom d'une cellule est lié au
fichier et non pas à un onglet de ce fichier??
Je voudrais definir un nom nommé "NATIONAL" à la cellule A55 de mon fichier
TEST.XLS, mais ceci sur les 7 onglets de ce fichier et avec le même nom
chaque fois..
le probleme est que à chaque insertion /nom /definir la cellule fait
reference au nom defini sur le precedent onglet et ainsi de suite..cela a
pour consequence que si je crée une liste de choix avec donnee /validation
cela retourne une erreur "1004" "la methode range de l'objet worksheet a
echoué"...
je vous laisse ci joint cette methode:

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = "$A$1" Then Range(Target).Select
End Sub

Comment resoudre ce probleme ??

Merci.


ALF
Le #4329051
Re,

d'accord mais comment inserer INDIRECT dans Private Sub Worksheet Change ???

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = INDIRECT("A1") Then Range(Target).Select
End Sub -------------> ne fonctionne pas

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = INDIRECT("$A$1") Then Range(Target).Select
End Sub -------------> ne fonctionne pas


Merci
--
ALF



bonjour ALF,

utilise la fonction Indirect pour la référence,

=INDIRECT("A1")


isabelle


Bonjour,

Sauf erreur de ma part ,il me semble que le nom d'une cellule est lié au
fichier et non pas à un onglet de ce fichier??
Je voudrais definir un nom nommé "NATIONAL" à la cellule A55 de mon fichier
TEST.XLS, mais ceci sur les 7 onglets de ce fichier et avec le même nom
chaque fois..
le probleme est que à chaque insertion /nom /definir la cellule fait
reference au nom defini sur le precedent onglet et ainsi de suite..cela a
pour consequence que si je crée une liste de choix avec donnee /validation
cela retourne une erreur "1004" "la methode range de l'objet worksheet a
echoué"...
je vous laisse ci joint cette methode:

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = "$A$1" Then Range(Target).Select
End Sub

Comment resoudre ce probleme ??

Merci.





ALF
Le #4328981
Re,

Le probleme ,c'est qu'il y a , plusieurs cellules à atteindre..il n'y a pas
que "NATIONAL" qui est défini ,il y a aussi AVIGNON,BREST,LIMOGES,LISIEUX,IDF
et ST OMER..
la procedure risque d'etre pompeuse...

On aurait donc:

Private Sub Worksheet Change (ByVal Target As Range)
ActiveWorkbook.Names.Add Name:="NATIONAL", RefersTo:="=INDIRECT(""A1"")"
If Target.Address = Range("NATIONAL").Address Then y = y + 1
ActiveWorkbook.Names.Add Name:="BREST", RefersTo:="=INDIRECT(""A1"")"
If Target.Address = Range("BREST").Address Then y = y + 1
ActiveWorkbook.Names.Add Name:="LIMOGES", RefersTo:="=INDIRECT(""A1"")"
If Target.Address = Range("LIMOGES").Address Then y = y + 1
ETC...

End Sub


qu'en pensez vous ??

--
ALF



bonjour ALF,

c'est deux choses différente,

'pour créer la référence
ActiveWorkbook.Names.Add Name:="NATIONAL", RefersTo:="=INDIRECT(""A1"")"

'pour utilisé cette référence,
If Target.Address = Range("NATIONAL").Address Then y = y + 1

isabelle


Re,

d'accord mais comment inserer INDIRECT dans Private Sub Worksheet Change ???

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = INDIRECT("A1") Then Range(Target).Select
End Sub -------------> ne fonctionne pas

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = INDIRECT("$A$1") Then Range(Target).Select
End Sub -------------> ne fonctionne pas


Merci





isabelle
Le #4328951
bonjour ALF,

c'est deux choses différente,

'pour créer la référence
ActiveWorkbook.Names.Add Name:="NATIONAL", RefersTo:="=INDIRECT(""A1"")"

'pour utilisé cette référence,
If Target.Address = Range("NATIONAL").Address Then y = y + 1

isabelle


Re,

d'accord mais comment inserer INDIRECT dans Private Sub Worksheet Change ???

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = INDIRECT("A1") Then Range(Target).Select
End Sub -------------> ne fonctionne pas

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = INDIRECT("$A$1") Then Range(Target).Select
End Sub -------------> ne fonctionne pas


Merci


Gaston
Le #4328931
Bonjour ALF
Si je retourne au début, ta question est de défénir un nom qui va à toutes
les feuilles.
Insertion/Définir/Test, sélectionne A1. Dans "Fait référence à" tu enlèves
le nom de la feuille en gardant seulement le point d'exclamation.
Comme ça le nom "Test" vaut pour toutes les cellules A1 de toutes les
feuilles.
Bye
Gaston

"ALF" wrote:

Bonjour,

Sauf erreur de ma part ,il me semble que le nom d'une cellule est lié au
fichier et non pas à un onglet de ce fichier??
Je voudrais definir un nom nommé "NATIONAL" à la cellule A55 de mon fichier
TEST.XLS, mais ceci sur les 7 onglets de ce fichier et avec le même nom
chaque fois..
le probleme est que à chaque insertion /nom /definir la cellule fait
reference au nom defini sur le precedent onglet et ainsi de suite..cela a
pour consequence que si je crée une liste de choix avec donnee /validation
cela retourne une erreur "1004" "la methode range de l'objet worksheet a
echoué"...
je vous laisse ci joint cette methode:

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = "$A$1" Then Range(Target).Select
End Sub

Comment resoudre ce probleme ??

Merci.
--
ALF


ALF
Le #4328871
Bonsoir GASTON,

Je dirai un seul mot : GENIAL !!!

Merci .
--
ALF



Bonjour ALF
Si je retourne au début, ta question est de défénir un nom qui va à toutes
les feuilles.
Insertion/Définir/Test, sélectionne A1. Dans "Fait référence à" tu enlèves
le nom de la feuille en gardant seulement le point d'exclamation.
Comme ça le nom "Test" vaut pour toutes les cellules A1 de toutes les
feuilles.
Bye
Gaston

"ALF" wrote:

Bonjour,

Sauf erreur de ma part ,il me semble que le nom d'une cellule est lié au
fichier et non pas à un onglet de ce fichier??
Je voudrais definir un nom nommé "NATIONAL" à la cellule A55 de mon fichier
TEST.XLS, mais ceci sur les 7 onglets de ce fichier et avec le même nom
chaque fois..
le probleme est que à chaque insertion /nom /definir la cellule fait
reference au nom defini sur le precedent onglet et ainsi de suite..cela a
pour consequence que si je crée une liste de choix avec donnee /validation
cela retourne une erreur "1004" "la methode range de l'objet worksheet a
echoué"...
je vous laisse ci joint cette methode:

Private Sub Worksheet Change (ByVal Target As Range)
If Target.Address = "$A$1" Then Range(Target).Select
End Sub

Comment resoudre ce probleme ??

Merci.
--
ALF




Publicité
Poster une réponse
Anonyme