Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

=formule et non =valeur possible ?

16 réponses
Avatar
Franck001
Bonjour,

voici mon petit problème, j'ai une celule
A1 dans la feuil1 dont le contenu est admettons "=A2+A3"

Est-il possible de mettre dans A1 de la feuil2, quelque chose qui ressemble
à "=A1" mais qui renvoie comme "résultat" la formule "=A2+A3" (sous entendu
de la feuil2 au lieu de 1) au lieu de renvoyer le résultat déjà affiché par
A1 de la feuil1.

Pour être plus clair :-) le but est que si la formule "=A2+A3" change, je
n'ai que à la changer dans la feuil1, toutes les autres feuilles prennent la
modification.

Merci pour votre aide.

-----(-_-)°zzZZZ-----
Franck
http://www.deschamps-web.com

6 réponses

1 2
Avatar
MichDenis
D'après la donne originale du problème,

s'il veut obtenir dans la cellule A1 des autres feuilles la même formule
que dans la feuille originale :

Au lieu de F.Range("A1") = Range("A1")

F.Range("A1") = "=sum(" & F.Name & "!A2:A3)"



"MichDenis" a écrit dans le message de groupe de discussion :
#KHZ#
Bonjour Garnote,

Si tu parles de ta macro :

Moi, j'aurais opté davantage pour :
if not intersect(target,range("A2:A3")) is nothing then

Les valeurs sont dans les cellules A2:A3, en conclusion
tout changement dans une de ces 2 cellules affecte le
résultat en A1 et conséquemment mise à jour.

au lieu de ceci :
'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim F As Worksheet
If Target.Address = "$A$1" Then
For Each F In ActiveWorkbook.Worksheets
F.Range("A1") = Target.Formula
Next F
End If
End Sub
'-------------------------------------

J'aurais opté pour cela :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim F As Worksheet
If Not Intersect(Target, Range("A2:A3")) Is Nothing Then
Application.EnableEvents = False
For Each F In Worksheets
If F.Name <> Me.Name Then
F.Range("A1") = Range("A1")
End If
Next F
Application.EnableEvents = True
End If
End Sub




"garnote" a écrit dans le message de groupe de discussion :

Ouais mais à chaque fois qu"il modifiera la formule en A1 de la Feuil1,
il devra toujours sélectionner un groupe de travail.
Il me semble que ma macro de feuille convient mieux quand on lit ceci :

Pour être plus clair :-) le but est que si la formule "¢+A3" change, je
n'ai que à la changer dans la feuil1, toutes les autres feuilles prennent
la modification.



Non ?

Serge


"LSteph" a écrit dans le message de news:
ujS$
..et celui là aussi :

Bonjour,

Oui c'est très simple! Tu te mets en groupe de travail, c'est à dire:

Sélectionne (avec CTRL appuyé) les onglets sur lesquels tu veux
appliquer la même chose
ils se retrouvent légèrement en surbrillance
puis entre en A1 tu entres ta formule ¢+A3

Ensuite clique sur un onglet autre que ceux du groupe (pour sortir du
groupe de travail)

Vérifie maintenant la formule fonctionne séparément pour chaque
feuille que tu avais dans ta sélection.

Cordialement.

--
lSteph

On 23 juin, 17:41, Franck001
wrote:

Franck001 a écrit :
Bonjour,

voici mon petit problème, j'ai une celule
A1 dans la feuil1 dont le contenu est admettons "¢+A3"

Est-il possible de mettre dans A1 de la feuil2, quelque chose qui
ressemble à "¡" mais qui renvoie comme "résultat" la formule "¢+A3"
(sous entendu de la feuil2 au lieu de 1) au lieu de renvoyer le résultat
déjà affiché par A1 de la feuil1.

Pour être plus clair :-) le but est que si la formule "¢+A3" change, je
n'ai que à la changer dans la feuil1, toutes les autres feuilles prennent
la modification.

Merci pour votre aide.

-----(-_-)°zzZZZ-----
Franck
http://www.deschamps-web.com




Avatar
Franck001
Oui je pense que c'est tout à fait cela merci.


-----(-_-)°zzZZZ-----
Franck
http://www.deschamps-web.com


"garnote" a écrit :

Salut Frank001,

Cette macro transfère automatiquement la formule
que tu écris en A1 de la Feuil1 sur toutes les feuilles
de calcul du classeur actif en A1 :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim F As Worksheet
If Target.Address = "$A$1" Then
For Each F In ActiveWorkbook.Worksheets
F.Range("A1") = Target.Formula
Next F
End If
End Sub

Est-ce le résultat que tu attends ?

Serge



"Franck001" a écrit dans le message de
news:
> Bonjour,
>
> voici mon petit problème, j'ai une celule
> A1 dans la feuil1 dont le contenu est admettons "¢+A3"
>
> Est-il possible de mettre dans A1 de la feuil2, quelque chose qui
> ressemble
> à "¡" mais qui renvoie comme "résultat" la formule "¢+A3" (sous
> entendu
> de la feuil2 au lieu de 1) au lieu de renvoyer le résultat déjà affiché
> par
> A1 de la feuil1.
>
> Pour être plus clair :-) le but est que si la formule "¢+A3" change, je
> n'ai que à la changer dans la feuil1, toutes les autres feuilles prennent
> la
> modification.
>
> Merci pour votre aide.
>
> -----(-_-)°zzZZZ-----
> Franck
> http://www.deschamps-web.com





Avatar
Franck001
Oui effectivement c'est une solution, mais mon pb était plus "complexe" que
celui présenté car en fait je veux que le contenu d'une celulle prenne la
formule d'une cellule ou d'une autre en fonction d'une condition donc du coup
ta méthode ne correspond pas à mon cas précis mais merci


"Patrick BASTARD" a écrit :

Désolé pour le puzzle...

Si tu sélectionnes toutes les feuilles concernées, une formule entrée, par
exemple, en A1 de l'une des feuilles sera répercutée sur toutes ces
feuilles.



--
Bien ,

Patrick
patrick.bastardchezdbmail.com


"Patrick BASTARD" a écrit dans le
message de news:
> Bonjour, "Franck001"
>
> Si tu sélectionnes toutes les feuilles concernées, une formule entrée, par
> exemple, en A1 de l'une des feuilles sera ré
> --
> Bien ,
>
> Patrick
> patrick.bastardchezdbmail.com
> percutée sur toutes ces feuilles.
>
>>
>> voici mon petit problème, j'ai une celule
>> A1 dans la feuil1 dont le contenu est admettons "¢+A3"
>>
>> Est-il possible de mettre dans A1 de la feuil2, quelque chose qui
>> ressemble
>> à "¡" mais qui renvoie comme "résultat" la formule "¢+A3" (sous
>> entendu
>> de la feuil2 au lieu de 1) au lieu de renvoyer le résultat déjà affiché
>> par
>> A1 de la feuil1.
>>
>> Pour être plus clair :-) le but est que si la formule "¢+A3" change, je
>> n'ai que à la changer dans la feuil1, toutes les autres feuilles prennent
>> la
>> modification.
>>
>> Merci pour votre aide.
>>
>> -----(-_-)°zzZZZ-----
>> Franck
>> http://www.deschamps-web.com
>>
>




Avatar
Franck001
Merci pour votre intérêt, l'avantage de la solution de garnote est qu'elle
est indépendante de la fonction souhaitée, elle l'a recopie et cette dernière
peut changer.

Merci à vous tous.

-----(-_-)°zzZZZ-----
Franck
http://www.deschamps-web.com


"MichDenis" a écrit :

D'après la donne originale du problème,

s'il veut obtenir dans la cellule A1 des autres feuilles la même formule
que dans la feuille originale :

Au lieu de F.Range("A1") = Range("A1")

F.Range("A1") = "=sum(" & F.Name & "!A2:A3)"



"MichDenis" a écrit dans le message de groupe de discussion :
#KHZ#
Bonjour Garnote,

Si tu parles de ta macro :

Moi, j'aurais opté davantage pour :
if not intersect(target,range("A2:A3")) is nothing then

Les valeurs sont dans les cellules A2:A3, en conclusion
tout changement dans une de ces 2 cellules affecte le
résultat en A1 et conséquemment mise à jour.

au lieu de ceci :
'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim F As Worksheet
If Target.Address = "$A$1" Then
For Each F In ActiveWorkbook.Worksheets
F.Range("A1") = Target.Formula
Next F
End If
End Sub
'-------------------------------------

J'aurais opté pour cela :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim F As Worksheet
If Not Intersect(Target, Range("A2:A3")) Is Nothing Then
Application.EnableEvents = False
For Each F In Worksheets
If F.Name <> Me.Name Then
F.Range("A1") = Range("A1")
End If
Next F
Application.EnableEvents = True
End If
End Sub




"garnote" a écrit dans le message de groupe de discussion :

Ouais mais à chaque fois qu"il modifiera la formule en A1 de la Feuil1,
il devra toujours sélectionner un groupe de travail.
Il me semble que ma macro de feuille convient mieux quand on lit ceci :

> Pour être plus clair :-) le but est que si la formule "¢+A3" change, je
> n'ai que à la changer dans la feuil1, toutes les autres feuilles prennent
> la modification.

Non ?

Serge


"LSteph" a écrit dans le message de news:
ujS$
> ..et celui là aussi :
>
> Bonjour,
>
> Oui c'est très simple! Tu te mets en groupe de travail, c'est à dire:
>
> Sélectionne (avec CTRL appuyé) les onglets sur lesquels tu veux
> appliquer la même chose
> ils se retrouvent légèrement en surbrillance
> puis entre en A1 tu entres ta formule ¢+A3
>
> Ensuite clique sur un onglet autre que ceux du groupe (pour sortir du
> groupe de travail)
>
> Vérifie maintenant la formule fonctionne séparément pour chaque
> feuille que tu avais dans ta sélection.
>
> Cordialement.
>
> --
> lSteph
>
> On 23 juin, 17:41, Franck001
> wrote:
>
> Franck001 a écrit :
>> Bonjour,
>>
>> voici mon petit problème, j'ai une celule
>> A1 dans la feuil1 dont le contenu est admettons "¢+A3"
>>
>> Est-il possible de mettre dans A1 de la feuil2, quelque chose qui
>> ressemble à "¡" mais qui renvoie comme "résultat" la formule "¢+A3"
>> (sous entendu de la feuil2 au lieu de 1) au lieu de renvoyer le résultat
>> déjà affiché par A1 de la feuil1.
>>
>> Pour être plus clair :-) le but est que si la formule "¢+A3" change, je
>> n'ai que à la changer dans la feuil1, toutes les autres feuilles prennent
>> la modification.
>>
>> Merci pour votre aide.
>>
>> -----(-_-)°zzZZZ-----
>> Franck
>> http://www.deschamps-web.com




Avatar
MichDenis
| l'avantage de la solution de garnote est qu'elle
| est indépendante de la fonction souhaitée, elle
| l'a recopie et cette dernière peut changer.

Tant mieux si tu as trouvé une solution à ton problème.

Je n’ai sûrement rien compris à ta question telle qu'elle est écrite !
Oui, oui, ça arrive !
;-)
Avatar
garnote
> Oui effectivement c'est une solution, mais mon pb était plus "complexe"
que
celui présenté car en fait je veux que le contenu d'une celulle prenne la
formule d'une cellule ou d'une autre en fonction d'une condition donc du
coup
ta méthode ne correspond pas à mon cas précis mais merci



... en fonction d'une condition ...
Pourrais-tu préciser ?

Serge





"Patrick BASTARD" a écrit :

Désolé pour le puzzle...

Si tu sélectionnes toutes les feuilles concernées, une formule entrée,
par
exemple, en A1 de l'une des feuilles sera répercutée sur toutes ces
feuilles.



--
Bien ,

Patrick
patrick.bastardchezdbmail.com


"Patrick BASTARD" a écrit dans le
message de news:
> Bonjour, "Franck001"
>
> Si tu sélectionnes toutes les feuilles concernées, une formule entrée,
> par
> exemple, en A1 de l'une des feuilles sera ré
> --
> Bien ,
>
> Patrick
> patrick.bastardchezdbmail.com
> percutée sur toutes ces feuilles.
>
>>
>> voici mon petit problème, j'ai une celule
>> A1 dans la feuil1 dont le contenu est admettons "¢+A3"
>>
>> Est-il possible de mettre dans A1 de la feuil2, quelque chose qui
>> ressemble
>> à "¡" mais qui renvoie comme "résultat" la formule "¢+A3" (sous
>> entendu
>> de la feuil2 au lieu de 1) au lieu de renvoyer le résultat déjà
>> affiché
>> par
>> A1 de la feuil1.
>>
>> Pour être plus clair :-) le but est que si la formule "¢+A3" change,
>> je
>> n'ai que à la changer dans la feuil1, toutes les autres feuilles
>> prennent
>> la
>> modification.
>>
>> Merci pour votre aide.
>>
>> -----(-_-)°zzZZZ-----
>> Franck
>> http://www.deschamps-web.com
>>
>






1 2