Utilisation des cellules nommées

Résolu/Fermé
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 - 26 mars 2011 à 09:14
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 - 28 mars 2011 à 16:16
Bonjour à tous,

J'ai un classeur comportant 5 feuilles dont une seule est visible, les autres étant affichées à la demande. Sur la feuille1 j'ai réservé une zone dans laquelle je stocke toutes les informations utiles dans des cellules qui sont toutes nommées. Elles sont ainsi disponibles à tout moment dans le classeur.
Sur cette même feuille j'ai un bouton qui lance une macro qui a pour rôle de sauvegarder une des feuilles du classeur dans un nouveau classeur. Dans ce nouveaux classeur j'ai besoin de certaines informations qui son stockées dans la partie réservée du premier classeur.
Ma question : Comment faire pour rendre les infos nommées "Nom1" à "Nom5" disponible en même temps dans les deux classeurs en sachant que tous les deux sont ouverts en même temps pendant la réalisation de la sauvegarde ?

D'avance merci.
Cordialement
Mistral
A voir également:

4 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
26 mars 2011 à 10:13
Bonjour,

Si tu veux faire référence à un nom d'un autre classeur il faut le nommer :
=Classeur1!nom1

eric
0
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 4
26 mars 2011 à 14:59
Bonjour Eric,

Merci à toi de me consacrer un peu de ton temps.

J'ai essayé ce que tu m'as dit sur un fichier d'essais mais ça ne marche pas.
J'ai une erreur d'exécution 424. Objet requis.
Ci-dessous le code utilisé :

Sub Essais()
        I = 1
          With Sheets("Save_Bdx")
                .Cells(I, 1).Value = ""
                .Cells(I, 2).Value = Bdx_Etiquettes![Nom_Exp]
                .Cells(I, 3).Value = Bdx_Etiquettes![Adr_1]
                .Cells(I, 4).Value = Bdx_Etiquettes![Adr_2]
                .Cells(I, 5).Value = Bdx_Etiquettes![CP]
                .Cells(I, 6).Value = Bdx_Etiquettes![Ville]
        End With
  End Sub


Au moment de l'essais j'avais un classeur avec la macro et le classeur avec les infos ouverts en même temps. L'erreur se produit sur la première ligne ou il y a le nom du classeur contenant les infos.
As-tu une idée?
Cordialement.
Mistral
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
26 mars 2011 à 15:20
Re,

essaie plutôt :
.Cells(I, 2).formula = "=Bdx_Etiquettes!Nom_Exp"

ou bien
.Cells(I, 2).formula = "=[Bdx_Etiquettes]Save_Bdx!nom1"
si le même nom est utilisé sur plusieurs feuilles du même classeur (ce qui ne semble pas être le cas)

eric

PS : L'erreur se produit sur la première ligne ou il y a le nom du classeur contenant les infos n'est pas parlant du tout. Cite la ligne en cause....
0
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 4
26 mars 2011 à 15:42
Re,

La ligne sur laquelle se produissait l'erreur est ci-dessous:
.Cells(I, 2).Value = Bdx_Etiquettes![Nom_Exp]

Ca fonctionne avec :
.Cells(I, 2).formula = "=Bdx_Etiquettes!Nom_Exp"

Quand je vérifie le travail fait par la macro je retrouve bien les bonnes valeurs dans les cellules mais quand je sélectionne l'une d'elles j'ai dans la barre de formule le nom du classeur source et le nom de la variable.
Alors je me pose maintenant la question de savoir si le classeur de sauvegarde ainsi crée sera lisible sur un autre PC qui lui n'aura pas le classeur d'origine.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
26 mars 2011 à 16:14
Tu crées un lien vers un autre classeur.
La valeur sera visible tant que tu ne cherches pas à rafraichir. Si c'est le cas et que le classeur du lien est absent la valeur est remplacée par une erreur.
A ce moment là met plutôt la valeur :
.Cells(I, 2) = Workbooks("Bdx_Etiquettes").Worksheets("Bdx_Etiquettes").Range("Nom_Exp").Value

eric
0
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 4
28 mars 2011 à 16:16
Bonjour Eriiic,

C'est bon ça marche!

Un grand merci à toi pour ton aide.
Cordialement
Mistral
0