Valeur ou Formule ??

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

Le souci, c'est qu'en cas de modification, la formule est remplacée
par une
valeur. Comment faire pour qu'à chaque fois que l'on resaisit les
paramètres
du tableau, cela puisse être réintialisé ??


Patrick BASTARD a eu la gentillesse de me répondre :
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 Journée
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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