Coller une formule avec liaison à une cellule

Résolu/Fermé
jimclermont - 1 avril 2011 à 19:59
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 - 3 avril 2011 à 21:25
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

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 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
1 avril 2011 à 22:27
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
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 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
2 avril 2011 à 16:58
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
Merci aquarelle

J'utilise ta formule

Merci encore
0
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
3 avril 2011 à 21:25
Re,
De rien et bonne continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié par Patrice33740 le 1/04/2011 à 22:32
Je ne comprends pas quel est le but recherché ? la fonction INDIRECT() ne ferait-elle pas l'affaire ?
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 2/04/2011 à 17:22
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
Merci eric

La formule d'aquarelle fonctonne bien

Merci encore
0