XL 2016 Valeur en mémoire ne fonctionne pas avec userform

johnpeter

XLDnaute Nouveau
Bonjour à vous tous qui depuis des années m'ont permis d'apprendre.
Pour la première fois je viens demander de l'aide car depuis de nombreuses semaines je cherche désespérément une solution que je ne trouve pas !
J'ai besoin de garder une valeur en mémoire entre chaque saisie de centaines de textbox_change pour afficher les écarts générés par chaque saisie.
J'ai créé des usine à gaz sans résultat pour finalement adopter la programmation de Monsieur Boisgontier (merci à lui)
Si cette programmation fonctionne parfaitement avec des saisies sur la feuille je n'arrive pas à la faire fonctionner avec des saisies par l'intermédiaire de textbox qui doivent obligatoirement garder la fonction change pour l'instantanéité.
Ci-joint ma démo pour faciliter la compréhension du problème de saisie.
Merci et bonne semaine à tous.
 

Pièces jointes

  • Ecarts.xlsm
    21.3 KB · Affichages: 7

patricktoulon

XLDnaute Barbatruc
Bonjour
pas tres clair ton truc
garder en mémoire c'est pas un problème
si tu veux dire par la que tu tape ca ecrit dans B1 puis ferme et ré ouvre le usf et retape et écrit en B2 c'est pas compliqué une variable long oscillante entre 1 et 2

dans module standard
public saisie as long

dans le userform
VB:
private Sub UserForm_Initialize()
If saisie = 0 Then saisie = 1
End Sub
Private Sub TextBox1_Change()
Sheets("Feuil1").Cells(2, saisie).Value = TextBox1.Value
End Sub
Private Sub CommandButton1_Click()
If saisie = 1 Then saisie = 2 Else saisie = 1
Unload Me
End Sub
sinon après ta demande est trop vague
 

johnpeter

XLDnaute Nouveau
Bonjour, J'ai créé un fichier pour calculer les prix de ce que nous fabriquons. Des textbox permettent de saisir les modifications de dimensions et de quantités. Le prix de vente recalculé s'affiche a chaque saisie. Tout fonctionne bien sauf que je voudrais afficher simultanément au nouveau prix l'écart avec l'ancien prix de vente. Il faut donc qu'a chaque fois que le prix du produit change selon la saisie dans l'userform par l'intermédiaire des textbox la différence avec l'ancien prix soit visible.
 

johnpeter

XLDnaute Nouveau
En fait, après essai, c'est pas tout à fait ce dont j'ai besoin car avec votre réponse il faut quitter l'userform pour obtenir l'écart.

Pour travailler il faut que comme le prix de vente qui change à chaque saisie l'écart lui aussi change simultanément !

Suis-je assez explicite ?

Je me suis trop précipité dans ma réponse, pardon, il me semble avoir trouvé en modifiant simplement :

Private Sub Textbox1_Change()
ActiveCell.Offset(0, 1) = [mémo]
If IsNumeric(Me.TextBox1) Then ActiveCell = CDbl(Me.TextBox1)
End Sub

Très heureux de vous connaître
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote