En VBA gain de la saisie [Résolu]

Messages postés
199
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
26 septembre 2019
-
Bonjour,
Voilà mon code:
Private Sub TextBox8_AfterUpdate()   
    [S4] = Val(TextBox8)
    [S4:T4].NumberFormat = "#,##0.00 $"
    Range("T4").FormulaR1C1 = "=IFERROR(RC[-2]*RC[-1],"""")"
End Sub

Dans mon tableur la valeur de la TextBox8 est déjà renseignée dans la cellule L5. Donc S4=L5.
Comment modifier ce code pour éviter la saisie en manuel de la valeur de S4.
Merci de votre réponse.
Je suis sur EXCEL 2010



Configuration: Windows / Internet Explorer 11.0
Afficher la suite 

2 réponses

Messages postés
14788
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 octobre 2019
1177
0
Merci
Bonjour,
Dans votre code:
[S4] = Val(TextBox8) 

Normalement ca doit le faire......
Cluses74
Messages postés
199
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
26 septembre 2019
-
Bonjour,
Si je vous ai bien compris la valeur de L5 s'afficherait dans les textbox3 et 8 en automatique et si le prix est modifié pour différentes raisons il faudrait le renseigner dans une autre textbox avec une validation attitrée à cette textbox qui régénérerait une nouvelle ligne au niveau des stocks. Je pense que l'idée est tres bonne.
f894009
Messages postés
14788
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 octobre 2019
1177 -
Re,
Non. Vous voulez L5 dans les textbox et pouvoir les modifier?
Je vous modifie votre fichier et vous me direz si c'est ok pour remplissage nouvelle ligne sur validation
Cluses74
Messages postés
199
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
26 septembre 2019
-
Re,
OK pour cette version
f894009
Messages postés
14788
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 octobre 2019
1177 -
Re,

fichier modifie: https://mon-partage.fr/f/Lz14Ik6x/

La difference majeure est que la ligne est cree sur le click validation avec la mise a jour des cellules seulement a ce moment. Cette evolution fait que les donnees a recuperer, a la suite d'un choix diametre de fil, sont en ligne 4 au lieu de 5
Voir fil 36

Par contre ajoutez les test adaquates pour eviter de creer des lignes batardes
f894009
Messages postés
14788
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 octobre 2019
1177 -
Re,
Autre detail, il faudra modifier dans le code de Commande_Reception comme dans stockage pour que la ligne s'insere au moment de la validation et soit mise a jour idem. Ce qui est plus logique
Commenter la réponse de f894009
Messages postés
14788
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 octobre 2019
1177
0
Merci
Bonjour,

Avais un peu de temps, ai modifie le fichier pour les deux Userforms.
https://mon-partage.fr/f/zl6gUO70/

Commande_Reception: a vous de voir si test(s) supplementaire(s) a ajouter
Stockage_Matiere: avais oublie le format prix, idem pour test(s) sup, voir dans le code Commande_Reception
Cluses74
Messages postés
199
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
26 septembre 2019
-
Bonjour,
Apres consultation des options avancées la fonction "Utiliser les séparateurs système" était cochée. Je l'ai décochée et le séparateur de décimale est une virgule et le séparateur de milliers un blanc. Mais même après cela le résultat est identique soit 5 chiffres une virgule et 4 zéros alors que je tape sur le clavier numérique 4.5251 il donne 45251,0000. Un casse tète???????. Par contre si je fais l'essais dans un autre classeur la virgule tombe au bon endroit soit 4,5251
Est ce que le code ; Range("L4").NumberFormat = "#,####0.0000 $" est bon ? Ce n'est qu'une supposition je ne comprends pas # virgule et 0 point
f894009
Messages postés
14788
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 octobre 2019
1177 -
Bonjour,

Vous voulez quoi en separateur de decimal, un point ou une virgule ??
un autre classeur la virgule
Parce que vous saisissez un point et si vous avez le resultat avec une virgule c'est ok?!!

Si un point, options avancees mettez un point
Cluses74
Messages postés
199
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
26 septembre 2019
-
Bonjour,
Je veux quelque chose qui fonctionne c.a.d lorsque je saisi 1 virgule ou point 4591 Excel écrive 1,4591 et non 14951virgule ou point 0000 soit d'après EXCEL 14951,0000
f894009
Messages postés
14788
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 octobre 2019
1177 -
Re,

Vous pouvez remettre separateur decimal system:

Fichier modifie: https://mon-partage.fr/f/uSZcOptS/
Ai fait des essais en changeant les parametres separateur decimal, chez moi plus de probleme.
Vous verrez ce qu'il faut faire pour que ca marche dans tous les cas
Cluses74
Messages postés
199
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
26 septembre 2019
-
Bonjour,
OK cela fonctionne correctement je fais des essais et remet de l'ordre dans mes saisies,
Encore merci
Commenter la réponse de f894009