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

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

J'utilise ta formule

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

La formule d'aquarelle fonctonne bien

Merci encore
0