Utilisation des cellules nommées

Résolu
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

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,

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

    eric
    1. 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
      1. Contributeur
        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....
    2. 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.
      1. Contributeur
        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
    3. Bonjour Eriiic,

      C'est bon ça marche!

      Un grand merci à toi pour ton aide.
      Cordialement
      Mistral