Bonjour,
Le 3 Avril je vous ecrivais =E7a :
Voil=E0, j'ai un tableau qui se remplit selon plusieurs crit=E8res.
Une de ces colonnes s'intitule 'Quotit=E9'. La valeur qui se trouve dans
cette
colonne est d=E9finit par une formule mais peut =EAtre modifi=E9 par
l'utilisateur.
Le souci, c'est qu'en cas de modification, la formule est remplac=E9e
par une
valeur. Comment faire pour qu'=E0 chaque fois que l'on resaisit les
param=E8tres
du tableau, cela puisse =EAtre r=E9intialis=E9 ??
Patrick BASTARD a eu la gentillesse de me r=E9pondre :
http://cjoint.com/?edwxTyT5Q2
En modifiant A3 ou B3, la formule revient en C3
Le code (Alt + F11), dans Feuil1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A3:B3]) Is Nothing Then
[C3].FormulaR1C1 =3D
"=3DRC[-2]+RC[-1]"
End Sub
Effectivement, =E7a marche mais pour une addition mais comment faire
pour des
formules plus complexe telles que :
=3DSI(B9<>"";SI(B9>$C$3;"";$C$5);"")
Je vous joins mon tableau pour que tout cela soit plus clair.
http://cjoint.com/?efgoD1mLUE
Un grand merci par avance
Je n'ai pas trés bien compris le fonctionnement Mais je peux te proposer ce code modifié ainsi plus facile à utiliser :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A3:B3]) Is Nothing Then [C3].FormulaLocal = "£+B3" End Sub
Pour ta formule plus compexe celà donne :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A3:B3]) Is Nothing Then [C3].FormulaLocal = "=SI(B9<>"""";SI(B9>$C$3;"";$C$5);"""")" End Sub
Tu peux mettre directement la formule aprés [C3].FormulaLocal =
Si tu as dans ta formule une double cote ("") il faut l'associer à double cote supplémentaire ("""")
J'espère que celà répond à ton besoin
Dis moi !!!!
Salut à toi
Je n'ai pas trés bien compris le fonctionnement
Mais je peux te proposer ce code modifié ainsi plus facile à
utiliser :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A3:B3]) Is Nothing Then
[C3].FormulaLocal = "=A3+B3"
End Sub
Pour ta formule plus compexe celà donne :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A3:B3]) Is Nothing Then
[C3].FormulaLocal = "=SI(B9<>"""";SI(B9>$C$3;"";$C$5);"""")"
End Sub
Tu peux mettre directement la formule aprés [C3].FormulaLocal =
Si tu as dans ta formule une double cote ("") il faut l'associer à
double cote supplémentaire ("""")
Je n'ai pas trés bien compris le fonctionnement Mais je peux te proposer ce code modifié ainsi plus facile à utiliser :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A3:B3]) Is Nothing Then [C3].FormulaLocal = "£+B3" End Sub
Pour ta formule plus compexe celà donne :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A3:B3]) Is Nothing Then [C3].FormulaLocal = "=SI(B9<>"""";SI(B9>$C$3;"";$C$5);"""")" End Sub
Tu peux mettre directement la formule aprés [C3].FormulaLocal =
Si tu as dans ta formule une double cote ("") il faut l'associer à double cote supplémentaire ("""")
J'espère que celà répond à ton besoin
Dis moi !!!!
francois.forcet
J'ai commis une petite erreur pour la formule plus complexe J'ai oublié une double cote :
Au lieu de B9>$C$3;"";$C$5 Mets B9>$C$3;"""";$C$5 Ce qui donne :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A3:B3]) Is Nothing Then [C3].FormulaLocal = "=SI(B9<>"""";SI(B9>$C$3;"""";$C$5);"""")" End Sub
Mille excuses
J'ai commis une petite erreur pour la formule plus complexe
J'ai oublié une double cote :
Au lieu de B9>$C$3;"";$C$5
Mets B9>$C$3;"""";$C$5
Ce qui donne :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A3:B3]) Is Nothing Then
[C3].FormulaLocal = "=SI(B9<>"""";SI(B9>$C$3;"""";$C$5);"""")"
End Sub
J'ai commis une petite erreur pour la formule plus complexe J'ai oublié une double cote :
Au lieu de B9>$C$3;"";$C$5 Mets B9>$C$3;"""";$C$5 Ce qui donne :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A3:B3]) Is Nothing Then [C3].FormulaLocal = "=SI(B9<>"""";SI(B9>$C$3;"""";$C$5);"""")" End Sub
Mille excuses
philou36
Bonsoir,
C'est juste GENIAL, un grand merci à toi pour ton précieuse aide.
Bonne soirée.
On 6 avr, 17:44, wrote:
J'ai commis une petite erreur pour la formule plus complexe J'ai oublié une double cote :
Au lieu de B9>$C$3;"";$C$5 Mets B9>$C$3;"""";$C$5 Ce qui donne :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A3:B3]) Is Nothing Then [C3].FormulaLocal = "=SI(B9<>"""";SI(B9>$C$3;"""";$C$5);"""")" End Sub
Mille excuses
Bonsoir,
C'est juste GENIAL, un grand merci à toi pour ton précieuse aide.
Bonne soirée.
On 6 avr, 17:44, francois.for...@wanadoo.fr wrote:
J'ai commis une petite erreur pour la formule plus complexe
J'ai oublié une double cote :
Au lieu de B9>$C$3;"";$C$5
Mets B9>$C$3;"""";$C$5
Ce qui donne :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A3:B3]) Is Nothing Then
[C3].FormulaLocal = "=SI(B9<>"""";SI(B9>$C$3;"""";$C$5);"""")"
End Sub
C'est juste GENIAL, un grand merci à toi pour ton précieuse aide.
Bonne soirée.
On 6 avr, 17:44, wrote:
J'ai commis une petite erreur pour la formule plus complexe J'ai oublié une double cote :
Au lieu de B9>$C$3;"";$C$5 Mets B9>$C$3;"""";$C$5 Ce qui donne :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A3:B3]) Is Nothing Then [C3].FormulaLocal = "=SI(B9<>"""";SI(B9>$C$3;"""";$C$5);"""")" End Sub