Problème de nom

Le
Daniel.C
Bonjour à tous.
Qu'est-ce qui twiste dans la seconde ligne de ce code :
ActiveWorkbook.Names.Add "ChartNo", 0, True
[ChartNo] = 1
J'obtiens une erreur 424 "Objet recquis".
Merci d'avance.
Daniel
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
Modeste
Le #6430401
Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Qu'est-ce qui twiste dans la seconde ligne de ce code :
ActiveWorkbook.Names.Add "ChartNo", 0, True
[ChartNo] = 1
J'obtiens une erreur 424 "Objet recquis".


ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"


--
--
@+
;o)))

Daniel.C
Le #6430781
Bonjoour Modeste.
Je bute sur :
ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"
Var = [ChartNo] + 1
[ChartNo] = Var
L'erreur est sur la dernière ligne.
Daniel

"Modeste" %
Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Qu'est-ce qui twiste dans la seconde ligne de ce code :
ActiveWorkbook.Names.Add "ChartNo", 0, True
[ChartNo] = 1
J'obtiens une erreur 424 "Objet recquis".


ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"


--
--
@+
;o)))





MichDenis
Le #6431351
| [ChartNo] = Var

ChartNo est un "NOM" dans la collection des "NAMES" du classeur.
Ce nom "ChartNo" représente une constante et non pas un "Range" (une cellule)

En conséquence si les crochets [ChartNo] (équivalent à la méthode EVALUATE
de l'objet APPLICATION) peuvent être utilisés pour retrouver la valeur du
NOM "ChartNo", il est évident que tu ne peux modifier la valeur du NOM "ChartNo"
en utilisant les crochets. Tu dois obligatoirement réutiliser une ligne de code comme
celui que tu as utilisé pour la création du NOM. en lui attribuant sa nouvelle valeur.

ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"

Dire que toute cette confusion émane d'un illustre utilisateur de ces crochets
ce dernier se terre je ne sais pas où lorsque des situations confuses surviennent.

;-)))







"Daniel.C" ez%
Bonjoour Modeste.
Je bute sur :
ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"
Var = [ChartNo] + 1
[ChartNo] = Var
L'erreur est sur la dernière ligne.
Daniel

"Modeste" %
Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Qu'est-ce qui twiste dans la seconde ligne de ce code :
ActiveWorkbook.Names.Add "ChartNo", 0, True
[ChartNo] = 1
J'obtiens une erreur 424 "Objet recquis".


ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"


--
--
@+
;o)))





MichDenis
Le #6431311
Pour plus de précision, tu devrais obtenir ceci :

Var = [ChartNo] + 1
[ChartNo] = Var
ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=" & Var

NB : Je n'ai rien contre "ActiveWorkbook" si ce n'est qu'il faut s'assurer
que c'est le bon classeur qui est actif lorsque la commande s'exécute.
cette expression peut être remplacé par : ThisWorkbook.... ou Workbooks("sonnom")...
ou par l'usage d'une variable Objet Workbook.




"MichDenis" e%23Qu$

| [ChartNo] = Var

ChartNo est un "NOM" dans la collection des "NAMES" du classeur.
Ce nom "ChartNo" représente une constante et non pas un "Range" (une cellule)

En conséquence si les crochets [ChartNo] (équivalent à la méthode EVALUATE
de l'objet APPLICATION) peuvent être utilisés pour retrouver la valeur du
NOM "ChartNo", il est évident que tu ne peux modifier la valeur du NOM "ChartNo"
en utilisant les crochets. Tu dois obligatoirement réutiliser une ligne de code comme
celui que tu as utilisé pour la création du NOM. en lui attribuant sa nouvelle valeur.

ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"

Dire que toute cette confusion émane d'un illustre utilisateur de ces crochets
ce dernier se terre je ne sais pas où lorsque des situations confuses surviennent.

;-)))







"Daniel.C" ez%
Bonjoour Modeste.
Je bute sur :
ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"
Var = [ChartNo] + 1
[ChartNo] = Var
L'erreur est sur la dernière ligne.
Daniel

"Modeste" %
Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Qu'est-ce qui twiste dans la seconde ligne de ce code :
ActiveWorkbook.Names.Add "ChartNo", 0, True
[ChartNo] = 1
J'obtiens une erreur 424 "Objet recquis".


ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"


--
--
@+
;o)))





Daniel.C
Le #6432091
OK. Merci. J'avais dans la tête que c'était plus simple.
Daniel
"MichDenis"
Pour plus de précision, tu devrais obtenir ceci :

Var = [ChartNo] + 1
[ChartNo] = Var
ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=" & Var

NB : Je n'ai rien contre "ActiveWorkbook" si ce n'est qu'il faut s'assurer
que c'est le bon classeur qui est actif lorsque la commande
s'exécute.
cette expression peut être remplacé par : ThisWorkbook.... ou
Workbooks("sonnom")...
ou par l'usage d'une variable Objet Workbook.




"MichDenis" e%23Qu$

| [ChartNo] = Var

ChartNo est un "NOM" dans la collection des "NAMES" du classeur.
Ce nom "ChartNo" représente une constante et non pas un "Range" (une
cellule)

En conséquence si les crochets [ChartNo] (équivalent à la méthode EVALUATE
de l'objet APPLICATION) peuvent être utilisés pour retrouver la valeur du
NOM "ChartNo", il est évident que tu ne peux modifier la valeur du NOM
"ChartNo"
en utilisant les crochets. Tu dois obligatoirement réutiliser une ligne de
code comme
celui que tu as utilisé pour la création du NOM. en lui attribuant sa
nouvelle valeur.

ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"

Dire que toute cette confusion émane d'un illustre utilisateur de ces
crochets
ce dernier se terre je ne sais pas où lorsque des situations confuses
surviennent.

;-)))







"Daniel.C" ez%
Bonjoour Modeste.
Je bute sur :
ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"
Var = [ChartNo] + 1
[ChartNo] = Var
L'erreur est sur la dernière ligne.
Daniel

"Modeste" %
Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Qu'est-ce qui twiste dans la seconde ligne de ce code :
ActiveWorkbook.Names.Add "ChartNo", 0, True
[ChartNo] = 1
J'obtiens une erreur 424 "Objet recquis".


ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"


--
--
@+
;o)))











MichDenis
Le #6433551
Si tu veux plus court... et plus simple ....?

'----------------------
Sub test1()
Dim X As Name
Set X = ThisWorkbook.Names.Add(Name:="ChartNo", RefersToR1C1:="0")

'Ceci devrait être bon si plusieurs classeurs sont ouverts en même temps
'peu importe que le code soit inscrit dans le Thisworkbook ou autres modules.
Var = Evaluate(ThisWorkbook.Name & "!" & X.Name)
'..../
Var = 5
X.RefersToR1C1 = Var
End Sub
'----------------------




"Daniel.C"
OK. Merci. J'avais dans la tête que c'était plus simple.
Daniel
"MichDenis"
Pour plus de précision, tu devrais obtenir ceci :

Var = [ChartNo] + 1
[ChartNo] = Var
ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=" & Var

NB : Je n'ai rien contre "ActiveWorkbook" si ce n'est qu'il faut s'assurer
que c'est le bon classeur qui est actif lorsque la commande
s'exécute.
cette expression peut être remplacé par : ThisWorkbook.... ou
Workbooks("sonnom")...
ou par l'usage d'une variable Objet Workbook.




"MichDenis" e%23Qu$

| [ChartNo] = Var

ChartNo est un "NOM" dans la collection des "NAMES" du classeur.
Ce nom "ChartNo" représente une constante et non pas un "Range" (une
cellule)

En conséquence si les crochets [ChartNo] (équivalent à la méthode EVALUATE
de l'objet APPLICATION) peuvent être utilisés pour retrouver la valeur du
NOM "ChartNo", il est évident que tu ne peux modifier la valeur du NOM
"ChartNo"
en utilisant les crochets. Tu dois obligatoirement réutiliser une ligne de
code comme
celui que tu as utilisé pour la création du NOM. en lui attribuant sa
nouvelle valeur.

ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"

Dire que toute cette confusion émane d'un illustre utilisateur de ces
crochets
ce dernier se terre je ne sais pas où lorsque des situations confuses
surviennent.

;-)))







"Daniel.C" ez%
Bonjoour Modeste.
Je bute sur :
ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"
Var = [ChartNo] + 1
[ChartNo] = Var
L'erreur est sur la dernière ligne.
Daniel

"Modeste" %
Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Qu'est-ce qui twiste dans la seconde ligne de ce code :
ActiveWorkbook.Names.Add "ChartNo", 0, True
[ChartNo] = 1
J'obtiens une erreur 424 "Objet recquis".


ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"


--
--
@+
;o)))











Daniel.C
Le #6434541
Merci.
Daniel
"MichDenis" u9fm%

Si tu veux plus court... et plus simple ....?

'----------------------
Sub test1()
Dim X As Name
Set X = ThisWorkbook.Names.Add(Name:="ChartNo", RefersToR1C1:="0")

'Ceci devrait être bon si plusieurs classeurs sont ouverts en même temps
'peu importe que le code soit inscrit dans le Thisworkbook ou autres
modules.
Var = Evaluate(ThisWorkbook.Name & "!" & X.Name)
'..../
Var = 5
X.RefersToR1C1 = Var
End Sub
'----------------------




"Daniel.C"
OK. Merci. J'avais dans la tête que c'était plus simple.
Daniel
"MichDenis"
Pour plus de précision, tu devrais obtenir ceci :

Var = [ChartNo] + 1
[ChartNo] = Var
ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=" & Var

NB : Je n'ai rien contre "ActiveWorkbook" si ce n'est qu'il faut
s'assurer
que c'est le bon classeur qui est actif lorsque la commande
s'exécute.
cette expression peut être remplacé par : ThisWorkbook.... ou
Workbooks("sonnom")...
ou par l'usage d'une variable Objet Workbook.




"MichDenis" e%23Qu$

| [ChartNo] = Var

ChartNo est un "NOM" dans la collection des "NAMES" du classeur.
Ce nom "ChartNo" représente une constante et non pas un "Range" (une
cellule)

En conséquence si les crochets [ChartNo] (équivalent à la méthode
EVALUATE
de l'objet APPLICATION) peuvent être utilisés pour retrouver la valeur du
NOM "ChartNo", il est évident que tu ne peux modifier la valeur du NOM
"ChartNo"
en utilisant les crochets. Tu dois obligatoirement réutiliser une ligne
de
code comme
celui que tu as utilisé pour la création du NOM. en lui attribuant sa
nouvelle valeur.

ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"

Dire que toute cette confusion émane d'un illustre utilisateur de ces
crochets
ce dernier se terre je ne sais pas où lorsque des situations confuses
surviennent.

;-)))







"Daniel.C" ez%
Bonjoour Modeste.
Je bute sur :
ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"
Var = [ChartNo] + 1
[ChartNo] = Var
L'erreur est sur la dernière ligne.
Daniel

"Modeste" %
Bonsour® Daniel.C avec ferveur ;o))) vous nous disiez :

Qu'est-ce qui twiste dans la seconde ligne de ce code :
ActiveWorkbook.Names.Add "ChartNo", 0, True
[ChartNo] = 1
J'obtiens une erreur 424 "Objet recquis".


ActiveWorkbook.Names.Add Name:="ChartNo", RefersToR1C1:="=1"


--
--
@+
;o)))
















Publicité
Poster une réponse
Anonyme