Coller une formule avec liaison à une cellule

Résolu
Bonjour,

J'ai un problème, je recherche une macro.

Dans une feuille j'ai une cellule qui fait référence à une zone nom ex. « =test », je veux que dans une autre feuille Excel reproduise exactement la même formule « =test » avec liaison, donc si je change dans la première feuille la formule, ex. je mets « =trou » alors dans la 2e feuille la cellule sera changée pour « =trou ».

Le but c'est de pouvoir faire une recherche dans la 2e feuille d'un nom de cellule.

Toutefois, il se peux que dans la 1ier feuille je ne fasse pas référence à un nom de zone et que je met un chiffre, alors la macro ne devra pas émettre d'erreur dans ce cas.

Voici un fichier pour expliquer

http://www.cijoint.fr/cjlink.php?file=cj201104/cij56ywAB8.xls

Merci pour vos réponses

4 réponses

  1. Je vasi faire un ptit résumé avec un exmple.

    Je veux faire excatement comme si je fesais copier/coller formule, mais avec liaison pour mettre à jour automatiquement
    0
    1. Modérateur
      Bonsoir,

      Tu peux le faire en créant une fonction personnalisée qui affiche la formule de la cellule 'donnée initiale'!C6 (ou d'une autre cellule)

      Function AfficheFormule(cel As Range)
              AfficheFormule = cel.Formula & ""
      End Function


      http://www.cijoint.fr/cjlink.php?file=cj201104/cijSuw9ssv.xls

      Bonne soirée
      0
      1. Bonjour aquarelle

        Ta macro peut faire le travail, j'ai la formule, mais j'aurais besoin quelle donne aussi la réponse, dans mon exemple, "20".

        Est-ce possible?

        Merci
        0
      2. Modérateur
        Bonjour,
        Essaie avec cette fonction qui affiche la formule et la valeur de la cellule :
        Function AfficheFormuleValeur(cel As Range)
                AfficheFormuleValeur = cel.Formula & "=" & cel.Value & ""
        End Function
        0
      3. Merci aquarelle

        J'utilise ta formule

        Merci encore
        0
      4. Modérateur
        Re,
        De rien et bonne continuation.
        0
    2. Je ne comprends pas quel est le but recherché ? la fonction INDIRECT() ne ferait-elle pas l'affaire ?
      0
      1. Contributeur
        Bonjour,

        Autrement dit, dans la cellule C6 de cette page je veux qu'il soit inscrit "=test"
        le résultat va rester 20, mais avec une autre macro je pouré faire une recherche
        de nom de zone et sa somme
        Et bien pourquoi, vu que c'est par macro, tu ne fais pas la recherche directement dans la feuille 'donnée initiale' ?

        Enfin bref, regarde si cette macro dans la feuille 'donnée initiale' te convient :
        Private Sub Worksheet_Change(ByVal Target As Range) 
            Select Case Target.Address 
            Case "$C$6" 
                Worksheets("transfert").[C6].Formula = Target.Formula 
            End Select 
        End Sub 
        

        eric
        0
        1. Merci eric

          La formule d'aquarelle fonctonne bien

          Merci encore
          0