Bloquer valeurs en fonction de la date de saisie

Résolu/Fermé
Fat17 Messages postés 87 Date d'inscription vendredi 25 août 2017 Statut Membre Dernière intervention 30 mars 2021 - 15 mars 2018 à 14:50
Vaucluse Messages postés 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 - 15 mars 2018 à 20:40
Bonjour,
Comment bloquer les prix de la colonne M en rapport avec les dates correspondantes de saisie.
Ces prix sont issus d'une base de données située dans la feuille "ART"
Si après, on doit changer les prix de la feuille "ART", colonne E, les prix ci-dessus déjà saisis ne doivent pas changer (Facture déjà établie et validée !)
Merci pour votre collaboration
Fichier support çi joint
Cordialement
Fat

https://www.cjoint.com/c/HCpnJX8wCQi


5 réponses

Vaucluse Messages postés 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 275
Modifié le 15 mars 2018 à 15:19
Bonjour
la seule façon pour que le prix ne changent pas est de faire un copier / collage spécial de la cellule pour supprimer la formule!
....ou alors de prévoir en base de données, au lieu de la seule colonne E, une série de colonne avec une colonne à chaque date de changement, titrée avec la date, et de référer la formule de M à la colonne directement antérieure à la date en D
crdlmnt

0
Fat17 Messages postés 87 Date d'inscription vendredi 25 août 2017 Statut Membre Dernière intervention 30 mars 2021
15 mars 2018 à 15:29
Bonjour,
Merci pour ta proposition, mais c'est ce que je suis en train de faire actuellement.
Dans la formule de recherche du prix, j'essaie d'ajouter un "SI date colonne C > Aujourd'hui", alors recherche formule dans feuille ART, sinon FAUX !
Mais je n'arrive pas à écrire cette formule
Cordialement
Fat
0
Vaucluse Messages postés 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 275
Modifié le 15 mars 2018 à 15:45
Ca ne pourra pas fonctionner, puisque si vous conservez la formule, elle ne pourra jamais retrouver une valeur antérieure qui aura disparue de votre base de données, sauf si vous avez à chaque changement de tarif une nouvelle base de données.
... d'où l'idée d'une série de colonne datée en titre pour chaque changement de prix.
ou alors, peut être avec VBA:
1° créer une colonne masquée ou simplement hors champ (par exemple en Z qui va recevoir le prix trouvé lorsque vous entrez par exemple une valeur en I
Cette valeur , sans formule, ne serait alors jamais modifiée
2°) en M, la formule deviendrait:
=SI(Zx<>"";Zx;votre formule)
ainsi la valeur de Z deviendrait immuable.

crdlmnt
0
Vaucluse Messages postés 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 275
15 mars 2018 à 17:30
... pour faire suite à mon message précédent, voila ce que ça pourrait donner:
https://mon-partage.fr/f/uotIBdRe/

à condition que votre excel accepte les macros (voir les options)
L'avantage du système et qu'il fige la valeur sans détruire la formule
voir d'une part les annotations dans la feuille et d'autre part, pour le système:
clic droit sur le nom de l'onglet et "visualiser le code"
crdlmnt
0
Fat17 Messages postés 87 Date d'inscription vendredi 25 août 2017 Statut Membre Dernière intervention 30 mars 2021
15 mars 2018 à 17:31
La 2ème solution est intéressante, mais la valeur de Z reste dépendante de la formule.
La colonne Z dans la feuille "VTS" est une doublure de la colonne E de la feuille "ART", et elle peut même être masquée.
Ce qui serait bien, c'est qu'on puisse écrire en Mx : =valeur Zx (copier juste la valeur)
J'ai essayé en Mx=SI(Zx<>"";Zx;0) et Mx=SI(Zx>0;Zx;0) etc... mais ça ne marche pas !

A+ et merci d'avance pour arriver à un résultat
0
Vaucluse Messages postés 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 275
Modifié le 15 mars 2018 à 17:42
c'est vrai, mais tant que vous n'activer pas la cellule L, selon la formule en M (1° tableau seulement) la valeur de Z ne change pas quelque soit celle de la base de données, et par conséquent, la valeur de Z reste figée en M
Mais si vous admettez de casser la formule en M, on peut directement la valeur de M. Allez dans le code et remplacer dans la dernière ligne le "Z" par "M"

et voyez ce que ça donne, plus besoin de Z mais là, c'est irréversible, ça revient à un copie coller

crdlmnt
0
Fat17 Messages postés 87 Date d'inscription vendredi 25 août 2017 Statut Membre Dernière intervention 30 mars 2021
15 mars 2018 à 18:02
Désolé, mais je n'arrive pas à comprendre la dernière proposition.
Je cherche justement à figer définitivement le prix en colonne M à partir de la colonne Z masquée qui elle, contient la formule pour aller chercher le prix correspondant au code saisi.
Que dois-je écrire en Mx pour avoir le prix recherché figé et donc sans formule ?
Cordialement
Fat
0
Vaucluse Messages postés 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 275
Modifié le 15 mars 2018 à 18:09
Il n'y a rien à écrire en Mx!

si ça ne va pas, je vous modifierais le fichier, mais je crois qu'il vaudrait mieux que vous compreniez pour l'avenir. Donc:
  • clic droit sur le nom d'onglet VTS
  • dans le menu qui s'affiche: "visualiser le code"

le code VBA va s'afficher
  • la dernière ligne (avant end if ) est celle ci:

Range("Z" & Rw).Value = Range("M" & Rw).Value
  • remplacez le "Z" au début par "M"

et ça devrait rouler
crdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fat17 Messages postés 87 Date d'inscription vendredi 25 août 2017 Statut Membre Dernière intervention 30 mars 2021
15 mars 2018 à 19:51
La macro est parfaite, surtout en remplaçant le Z par M.
La formule en M reste tant qu'on n'a pas introduit de quantité en L.
Une fois la quantité saisie, le prix unitaire en M est figé et ne bouge plus, et c'est CE QUI EST RECHERCHE !
Si les prix sont actualisés dans la base de données, les factures déjà saisies ne sont pas affectées.
On n'a donc même pas besoin de colonne Z !
C'est parfait.
MERCI INFINIMENT
Cordialement
Fat
0
Vaucluse Messages postés 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 275
15 mars 2018 à 20:40
Alors c'est parfait pour moi aussi
Je passe le sujet en résolu
Bonne route
crdlmnt
0