OVH Cloud OVH Cloud

Copier/Coller une cellule nommée ?

5 réponses
Avatar
DC
Bonjour à tous,.......................Excel 2000 sous XP

Merci de me lire...!!..............Bonne Journée...!!

Voilà; J'ai 2 classeurs à l'écran ( "A" + "B" ), Aussi, j'aimerais disposer
d'une ligne de code, que j'insérerais dans une procédure, me permettant
quand je travaille sur "B", d'aller chercher une cellule nommée "c" dans le
classeur "A",

Mais ceci sans faire appel au nom "A" du classeur "A" car le nom "A" n'a
rien d'absolu, il est souvent renommé,

Sans non plus faire apparaitre à l'écran le classeur "A", il faudrait qu'il
reste caché derrière le classeur "B" pendant l'opération,

J'espère avoir été simple et clair dans mes explications...Merci...!!

Salutations!..............Merci d'avance...!!...............DC

5 réponses

Avatar
Pierre Fauconnier
Bonjour

Une solution serait d'utiliser le nom VBA du classeur A.

Ce nom est "thisworkbook" par défaut, mais tu peux le renommer dans les
propriétés, lorsque tu es dans VBE...
Complète en attribuant un nom VBA à tes feuilles Excel ( par défaut Feuil1,
feuil2, ...). Ainsi, elles porteront toujours le même nom même si on renomme
l'onglet.

Si tu donnes "wb_Classeur_A" (nom VBA) comme nom à ce classeur, et que dans
ce classeur tu nommes une feuille "sh_Feuille_1" ( nom VBA), tu peux
utiliser la syntaxe suivante au départ d'un autre classeur, lorsque le
classeur A est ouvert:
Range("a1") = wb_Classeur_A.sh_Feuille_1.range("w2")
par exemple...

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"DC" a écrit dans le message de news:
438d8208$0$21300$
Bonjour à tous,.......................Excel 2000 sous XP

Merci de me lire...!!..............Bonne Journée...!!

Voilà; J'ai 2 classeurs à l'écran ( "A" + "B" ), Aussi, j'aimerais
disposer d'une ligne de code, que j'insérerais dans une procédure, me
permettant quand je travaille sur "B", d'aller chercher une cellule nommée
"c" dans le classeur "A",

Mais ceci sans faire appel au nom "A" du classeur "A" car le nom "A" n'a
rien d'absolu, il est souvent renommé,

Sans non plus faire apparaitre à l'écran le classeur "A", il faudrait
qu'il reste caché derrière le classeur "B" pendant l'opération,

J'espère avoir été simple et clair dans mes explications...Merci...!!

Salutations!..............Merci d'avance...!!...............DC






Avatar
DC
Bonjour à tous..............................Bonjour Pierre Fauconnier,

Merci de ta réponse rapide............et bonne Journée...!!

A savoir que je fais partie des non initiés, aussi j'ai un petit problème,

Ton explication et ta ligne de code me paraissent, éffectivement aller dans
le bon sens, et je crois que tu m'as bien compris,

Seulement voilà, je n'est pas été capable de renommer "thisworkbook' dans le
classeur "A",

Et dans la ligne code...??.....je vais essayer de m'expliquer........,
'-----------------------------------------------------------------
Range("a1") = wb_Classeur_A.sh_Feuille_1.range("w2")
'-----------------------------------------------------------------
("a1") je suppose que c'est le nom de la cellule nommée du classeur "A" ,
soit : ("Numéro").......sans le 1...??

("wb_Classeur_A" ), c'est le nom, renommé de "thisworkbook" du classeur
"A".........( à apprendre à faire )...

("sh_Feuille_1") c'est le nom ( renommer ) de l'onglet de la feul3 du
classeur "A"

("w2") c'est l'emplacement de la cellule dans le Classeur "B" où se trouve
le curseur ( pour Copier/Coller le numéro )

J'ai un peu honte de mon ignorance, mais j'essaie de comprendre pour essayer
d'évoluer dans le bon sens.........Merci...!!

Cordialement.........encore un grand Merci...!!........DC











"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

Une solution serait d'utiliser le nom VBA du classeur A.

Ce nom est "thisworkbook" par défaut, mais tu peux le renommer dans les
propriétés, lorsque tu es dans VBE...
Complète en attribuant un nom VBA à tes feuilles Excel ( par défaut
Feuil1, feuil2, ...). Ainsi, elles porteront toujours le même nom même si
on renomme l'onglet.

Si tu donnes "wb_Classeur_A" (nom VBA) comme nom à ce classeur, et que
dans ce classeur tu nommes une feuille "sh_Feuille_1" ( nom VBA), tu peux
utiliser la syntaxe suivante au départ d'un autre classeur, lorsque le
classeur A est ouvert:
Range("a1") = wb_Classeur_A.sh_Feuille_1.range("w2")
par exemple...

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"DC" a écrit dans le message de news:
438d8208$0$21300$
Bonjour à tous,.......................Excel 2000 sous XP

Merci de me lire...!!..............Bonne Journée...!!

Voilà; J'ai 2 classeurs à l'écran ( "A" + "B" ), Aussi, j'aimerais
disposer d'une ligne de code, que j'insérerais dans une procédure, me
permettant quand je travaille sur "B", d'aller chercher une cellule
nommée "c" dans le classeur "A",

Mais ceci sans faire appel au nom "A" du classeur "A" car le nom "A" n'a
rien d'absolu, il est souvent renommé,

Sans non plus faire apparaitre à l'écran le classeur "A", il faudrait
qu'il reste caché derrière le classeur "B" pendant l'opération,

J'espère avoir été simple et clair dans mes explications...Merci...!!

Salutations!..............Merci d'avance...!!...............DC










Avatar
Alain CROS
Bonjour,

Avec une cellule nommée LeNom :

Function Recup$(Nom$)
Dim Wk As Workbook
For Each Wk In Workbooks
On Error Resume Next
Recup = Wk.Names(Nom).RefersToRange.Address(, , , True)
On Error GoTo 0
If Recup <> "" Then Exit Function
Next Wk
End Function

Sub Test()
MsgBox Recup("LeNom")
End Sub

Alain CROS

"DC" a écrit dans le message de news: 438d8208$0$21300$
| Bonjour à tous,.......................Excel 2000 sous XP
|
| Merci de me lire...!!..............Bonne Journée...!!
|
| Voilà; J'ai 2 classeurs à l'écran ( "A" + "B" ), Aussi, j'aimerais disposer
| d'une ligne de code, que j'insérerais dans une procédure, me permettant
| quand je travaille sur "B", d'aller chercher une cellule nommée "c" dans le
| classeur "A",
|
| Mais ceci sans faire appel au nom "A" du classeur "A" car le nom "A" n'a
| rien d'absolu, il est souvent renommé,
|
| Sans non plus faire apparaitre à l'écran le classeur "A", il faudrait qu'il
| reste caché derrière le classeur "B" pendant l'opération,
|
| J'espère avoir été simple et clair dans mes explications...Merci...!!
|
| Salutations!..............Merci d'avance...!!...............DC
|
|
|
|
Avatar
Pierre Fauconnier
Pour renommer le classeur, voir http://cjoint.com/?lEvQsdbrNi pour l'image
du VBE et l'endroit où tu peux modifier la propriété Name du classeur. Pour
avoir accès aux propriétés du classeur, double-clique sur l'icône du
classeur dans l'explorateur de projet.
Pour renommer une feuille (nom VBA), tu utilises la même procédure, mais en
double-cliquant d'abord sur la feuille voulue dans l'arborescence du projet.
Si ton explorateur de projets n'est pas visible, CTRL+R ou Affichage...


Pour le reste...

Un classeur A contenant une cellule nommée "c" dans la feuille Feuil1, que
tu veux utiliser dans un classeur B...

Le plus simple est de créer un objet de type Range dans le code, que tu
utilises comme bon te semble...


Dans le classeur B, tu utilises le code, dans une procédure ou une fonction
sub MaProc()
dim Cellule_Classeur_A as range
set cellule_classeur_A = wb_Classeur_A.Feuil1.range("c")
...
...
Après, tu fais ce que tu veux avec Cellule_Classeur_A, qui est en fait
une "image" de la vraie cellule.

Par exemple, affecter la valeur de la cellule "c" à la cellule B4 de la
feuille active
range("B4") = cellule_classeur_A

Tu peux également modifier la valeur de la cellule "c"
cellule_classeur_A = "PIERRE"

...

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"DC" a écrit dans le message de news:
438dca78$0$19719$
Bonjour à tous..............................Bonjour Pierre Fauconnier,

Merci de ta réponse rapide............et bonne Journée...!!

A savoir que je fais partie des non initiés, aussi j'ai un petit problème,

Ton explication et ta ligne de code me paraissent, éffectivement aller
dans le bon sens, et je crois que tu m'as bien compris,

Seulement voilà, je n'est pas été capable de renommer "thisworkbook' dans
le classeur "A",

Et dans la ligne code...??.....je vais essayer de m'expliquer........,
'-----------------------------------------------------------------
Range("a1") = wb_Classeur_A.sh_Feuille_1.range("w2")
'-----------------------------------------------------------------
("a1") je suppose que c'est le nom de la cellule nommée du classeur "A" ,
soit : ("Numéro").......sans le 1...??

("wb_Classeur_A" ), c'est le nom, renommé de "thisworkbook" du classeur
"A".........( à apprendre à faire )...

("sh_Feuille_1") c'est le nom ( renommer ) de l'onglet de la feul3 du
classeur "A"

("w2") c'est l'emplacement de la cellule dans le Classeur "B" où se trouve
le curseur ( pour Copier/Coller le numéro )

J'ai un peu honte de mon ignorance, mais j'essaie de comprendre pour
essayer d'évoluer dans le bon sens.........Merci...!!

Cordialement.........encore un grand Merci...!!........DC











"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

Une solution serait d'utiliser le nom VBA du classeur A.

Ce nom est "thisworkbook" par défaut, mais tu peux le renommer dans les
propriétés, lorsque tu es dans VBE...
Complète en attribuant un nom VBA à tes feuilles Excel ( par défaut
Feuil1, feuil2, ...). Ainsi, elles porteront toujours le même nom même si
on renomme l'onglet.

Si tu donnes "wb_Classeur_A" (nom VBA) comme nom à ce classeur, et que
dans ce classeur tu nommes une feuille "sh_Feuille_1" ( nom VBA), tu peux
utiliser la syntaxe suivante au départ d'un autre classeur, lorsque le
classeur A est ouvert:
Range("a1") = wb_Classeur_A.sh_Feuille_1.range("w2")
par exemple...

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"DC" a écrit dans le message de news:
438d8208$0$21300$
Bonjour à tous,.......................Excel 2000 sous XP

Merci de me lire...!!..............Bonne Journée...!!

Voilà; J'ai 2 classeurs à l'écran ( "A" + "B" ), Aussi, j'aimerais
disposer d'une ligne de code, que j'insérerais dans une procédure, me
permettant quand je travaille sur "B", d'aller chercher une cellule
nommée "c" dans le classeur "A",

Mais ceci sans faire appel au nom "A" du classeur "A" car le nom "A" n'a
rien d'absolu, il est souvent renommé,

Sans non plus faire apparaitre à l'écran le classeur "A", il faudrait
qu'il reste caché derrière le classeur "B" pendant l'opération,

J'espère avoir été simple et clair dans mes explications...Merci...!!

Salutations!..............Merci d'avance...!!...............DC














Avatar
DC
Bonjour à tous...................Bonjour Pierre et Alain,

Merci à vous deux, de me répondre..............Bonne Journée...!!

Cette fois-ci j'ai bien compris, c'est parfait Pierre, j'ai cherché un petit
peut, mais avec de la persévérence, çà devient de plus en plus logique et
l'on arrive à solutionner...!!....Merci à tous les deux

Cordialement.............encore un grand Merci...!!.............DC

"Alain CROS" a écrit dans le message de news:

Bonjour,

Avec une cellule nommée LeNom :

Function Recup$(Nom$)
Dim Wk As Workbook
For Each Wk In Workbooks
On Error Resume Next
Recup = Wk.Names(Nom).RefersToRange.Address(, , , True)
On Error GoTo 0
If Recup <> "" Then Exit Function
Next Wk
End Function

Sub Test()
MsgBox Recup("LeNom")
End Sub

Alain CROS

"DC" a écrit dans le message de news:
438d8208$0$21300$
| Bonjour à tous,.......................Excel 2000 sous XP
|
| Merci de me lire...!!..............Bonne Journée...!!
|
| Voilà; J'ai 2 classeurs à l'écran ( "A" + "B" ), Aussi, j'aimerais
disposer
| d'une ligne de code, que j'insérerais dans une procédure, me permettant
| quand je travaille sur "B", d'aller chercher une cellule nommée "c" dans
le
| classeur "A",
|
| Mais ceci sans faire appel au nom "A" du classeur "A" car le nom "A" n'a
| rien d'absolu, il est souvent renommé,
|
| Sans non plus faire apparaitre à l'écran le classeur "A", il faudrait
qu'il
| reste caché derrière le classeur "B" pendant l'opération,
|
| J'espère avoir été simple et clair dans mes explications...Merci...!!
|
| Salutations!..............Merci d'avance...!!...............DC
|
|
|
|