Coller une formule avec liaison à une cellule

Résolu
jimclermont -  
aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   -
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. jimclermont
     
    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
  2. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
     
    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. jimclermont
       
      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. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
       
      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. jimclermont
       
      Merci aquarelle

      J'utilise ta formule

      Merci encore
      0
    4. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
       
      Re,
      De rien et bonne continuation.
      0
  3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Je ne comprends pas quel est le but recherché ? la fonction INDIRECT() ne ferait-elle pas l'affaire ?
    0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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. jimclermont
       
      Merci eric

      La formule d'aquarelle fonctonne bien

      Merci encore
      0