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

Voir l'impact du changement de prix

6 réponses
Avatar
milloche
Bonjour le forum
J'ai en colonne F des prix d'articles, puis les colonnes suivantes
différentes formules faisant référence à ce prix (brut, net, tva, marge,
quantité, montant facture, etc.)
J'aimerais bien, automatiquement pendant quelques secondes pouvoir voir
l'impact qu'aurait un changement de prix d'une cellule de la colonne F, sur
toutes les autres colonnes de la ligne, puis afficher de nouveau après ce
délai, le prix qui existait auparavant.
C'est une idée mais la réalisation est trop forte pour moi. Je pédale dans
la semoule.
Merci.

6 réponses

Avatar
Patrick BASTARD
Bonjour, milloche.

Les différentes formules ne doivent plus se référer uniquement à ce prix,
mais à ce prix + un coefficient.
J'explique :
En A1, par exemple ton coefficient d'augmentation (ex 1.01 pour 1%
d'augmentation, 0u 0.99 pour 1% de baisse)
En F1 le prix HT de ton article.

Le montant HT , actuellement "F1 x quantité", deviendra "F1 x $A$1 x
quantité".
Est-ce clair, ou souhaites-tu un exemple ?
Dans le dernier cas, joins un fichier exemple sur cijoint.

--
Bien ,

Patrick
patrick.bastardchezdbmail.com

"milloche" a écrit dans le message de
news:
Bonjour le forum
J'ai en colonne F des prix d'articles, puis les colonnes suivantes
différentes formules faisant référence à ce prix (brut, net, tva, marge,
quantité, montant facture, etc.)
J'aimerais bien, automatiquement pendant quelques secondes pouvoir voir
l'impact qu'aurait un changement de prix d'une cellule de la colonne F,
sur toutes les autres colonnes de la ligne, puis afficher de nouveau après
ce délai, le prix qui existait auparavant.
C'est une idée mais la réalisation est trop forte pour moi. Je pédale dans
la semoule.
Merci.




Avatar
garnote
Bonjour milloche,

Une variante à adapter :

Dim v

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Then Exit Sub
Application.EnableEvents = False
Set inter = Intersect(Target, Range("F:F"))
If Not inter Is Nothing And Target.Count = 1 Then
Target.Resize(1, 8).Select
rep = MsgBox("Cliquez sur Oui pour garder l'ancien prix: " & v & _
vbNewLine & "Et sur Non pour garder le nouveau :" & Target, vbYesNo)
If rep = vbNo Then Target = v
End If
Target.Select
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
v = ActiveCell.Value
End Sub

Serge




"milloche" a écrit dans le message de news:

Bonjour le forum
J'ai en colonne F des prix d'articles, puis les colonnes suivantes
différentes formules faisant référence à ce prix (brut, net, tva, marge,
quantité, montant facture, etc.)
J'aimerais bien, automatiquement pendant quelques secondes pouvoir voir
l'impact qu'aurait un changement de prix d'une cellule de la colonne F,
sur toutes les autres colonnes de la ligne, puis afficher de nouveau après
ce délai, le prix qui existait auparavant.
C'est une idée mais la réalisation est trop forte pour moi. Je pédale dans
la semoule.
Merci.



Avatar
milloche
Bonjour Daniel et merci
J'ai un défaut, c'est que ce que je n'ai pas étudié le vba à l'école. Ce
que je sais, je l'ai appris en grande partie ici. J'ai donc effectivement
souvent des problèmes, car j'ai beaucoup d'idées que je suis incapable de
réaliser seul. Alors je viens sur ce forum.
Là, c'est le "application undo" que je ne connaissais pas.
Mais s'il n'y avait pas de questions posées, tu t'ennuierais seul devant
ton écran.
Cordialement.
<]:o))

"Daniel.C" a écrit dans le message de news:

Bonjour.
Mets la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 6 Then Exit Sub
Application.Wait Now + TimeValue("00:00:05") '5 sec à modifier
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End Sub

Si tu as un problème avec les macros, dis-le.
Cordialement.
Daniel

Bonjour le forum
J'ai en colonne F des prix d'articles, puis les colonnes suivantes
différentes formules faisant référence à ce prix (brut, net, tva, marge,
quantité, montant facture, etc.)
J'aimerais bien, automatiquement pendant quelques secondes pouvoir voir
l'impact qu'aurait un changement de prix d'une cellule de la colonne F,
sur toutes les autres colonnes de la ligne, puis afficher de nouveau
après ce délai, le prix qui existait auparavant.
C'est une idée mais la réalisation est trop forte pour moi. Je pédale
dans la semoule.
Merci.






Avatar
garnote
ll faut changer
If rep = vbNo Then Target = v
pour
If rep = vbYes Then Target = v

Serge



"garnote" a écrit dans le message de news:
Ojggl%
Bonjour milloche,

Une variante à adapter :

Dim v

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Then Exit Sub
Application.EnableEvents = False
Set inter = Intersect(Target, Range("F:F"))
If Not inter Is Nothing And Target.Count = 1 Then
Target.Resize(1, 8).Select
rep = MsgBox("Cliquez sur Oui pour garder l'ancien prix: " & v & _
vbNewLine & "Et sur Non pour garder le nouveau :" & Target,
vbYesNo)
If rep = vbNo Then Target = v
End If
Target.Select
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
v = ActiveCell.Value
End Sub

Serge




"milloche" a écrit dans le message de news:

Bonjour le forum
J'ai en colonne F des prix d'articles, puis les colonnes suivantes
différentes formules faisant référence à ce prix (brut, net, tva, marge,
quantité, montant facture, etc.)
J'aimerais bien, automatiquement pendant quelques secondes pouvoir voir
l'impact qu'aurait un changement de prix d'une cellule de la colonne F,
sur toutes les autres colonnes de la ligne, puis afficher de nouveau
après ce délai, le prix qui existait auparavant.
C'est une idée mais la réalisation est trop forte pour moi. Je pédale
dans la semoule.
Merci.







Avatar
milloche
Nouveau problème !
J'ai trop de solutions !
Merci tous les trois.
JMM

"garnote" a écrit dans le message de news:
Ojggl%
Bonjour milloche,

Une variante à adapter :

Dim v

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Then Exit Sub
Application.EnableEvents = False
Set inter = Intersect(Target, Range("F:F"))
If Not inter Is Nothing And Target.Count = 1 Then
Target.Resize(1, 8).Select
rep = MsgBox("Cliquez sur Oui pour garder l'ancien prix: " & v & _
vbNewLine & "Et sur Non pour garder le nouveau :" & Target,
vbYesNo)
If rep = vbNo Then Target = v
End If
Target.Select
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
v = ActiveCell.Value
End Sub

Serge




"milloche" a écrit dans le message de news:

Bonjour le forum
J'ai en colonne F des prix d'articles, puis les colonnes suivantes
différentes formules faisant référence à ce prix (brut, net, tva, marge,
quantité, montant facture, etc.)
J'aimerais bien, automatiquement pendant quelques secondes pouvoir voir
l'impact qu'aurait un changement de prix d'une cellule de la colonne F,
sur toutes les autres colonnes de la ligne, puis afficher de nouveau
après ce délai, le prix qui existait auparavant.
C'est une idée mais la réalisation est trop forte pour moi. Je pédale
dans la semoule.
Merci.







Avatar
garnote
Tu pourrais aussi remplacer :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
v = ActiveCell.Value
End Sub
par :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
v = target
End Sub

Serge

"milloche" a écrit dans le message de news:
eDei%
Nouveau problème !
J'ai trop de solutions !
Merci tous les trois.
JMM

"garnote" a écrit dans le message de news:
Ojggl%
Bonjour milloche,

Une variante à adapter :

Dim v

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Then Exit Sub
Application.EnableEvents = False
Set inter = Intersect(Target, Range("F:F"))
If Not inter Is Nothing And Target.Count = 1 Then
Target.Resize(1, 8).Select
rep = MsgBox("Cliquez sur Oui pour garder l'ancien prix: " & v & _
vbNewLine & "Et sur Non pour garder le nouveau :" & Target,
vbYesNo)
If rep = vbNo Then Target = v
End If
Target.Select
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
v = ActiveCell.Value
End Sub

Serge




"milloche" a écrit dans le message de news:

Bonjour le forum
J'ai en colonne F des prix d'articles, puis les colonnes suivantes
différentes formules faisant référence à ce prix (brut, net, tva, marge,
quantité, montant facture, etc.)
J'aimerais bien, automatiquement pendant quelques secondes pouvoir voir
l'impact qu'aurait un changement de prix d'une cellule de la colonne F,
sur toutes les autres colonnes de la ligne, puis afficher de nouveau
après ce délai, le prix qui existait auparavant.
C'est une idée mais la réalisation est trop forte pour moi. Je pédale
dans la semoule.
Merci.