Valeur ou Formule ??

Le
philou36
Bonjour,
Le 3 Avril je vous ecrivais a :
Voil, j'ai un tableau qui se remplit selon plusieurs critres.
Une de ces colonnes s'intitule 'Quotit'. La valeur qui se trouve dans
cette
colonne est dfinit par une formule mais peut tre modifi par
l'utilisateur.

Le souci, c'est qu'en cas de modification, la formule est remplace
par une
valeur. Comment faire pour qu' chaque fois que l'on resaisit les
paramtres
du tableau, cela puisse tre rintialis ??


Patrick BASTARD a eu la gentillesse de me rpondre :
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 =
"=RC[-2]+RC[-1]"
End Sub


Effectivement, a marche mais pour une addition mais comment faire
pour des
formules plus complexe telles que :

=SI(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

Bonne Journe
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
francois.forcet
Le #5430941
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 = "+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
Le #5430851
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
Le #5430651
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


Publicité
Poster une réponse
Anonyme