Multiplier 2 textboxs même lorsque qu'une des 2 est vide

Arnold35

XLDnaute Junior
Bonjour le forum,

Dans mon fichier j'ai créé un formulaire qui s'ouvre lorsqu'on souhaite ajouter une commande.

Voici les 2 problèmes que je rencontre:

1) Dans ce formulaire, l'utilisateur a le choix de saisir jusqu'à 12 articles pour sa commande avec donc 12 quantités différentes et 12 Prix unitaires HT différents. Mais il ne doit pas non plus être obligé de saisir dans les 12 champs.

Dans les textboxs "Prix Total HT" je souhaiterai que le calcul se fasse automatiquement "Qté référence 1 * PUHT référence1", etc....

J'ai trouvé quelques codes sur le forum pour y arriver (et je vous remercie bien!) mais je ne suis pas totalement satisfait du résultat. Le total de chaque ligne ne s'affiche pas automatiquement, il faut cliquer dans la textbox Prix total HT pour que celui-ci se calcule.

Existe t-il un moyen que cela se fasse instantanément?


2) D'autre part, en dessous des 12 textboxs de Prix total HT, j'ai inséré une textbox qui doit faire la somme des 12 textbox se trouvant au dessus.

Or si je ne renseigne pas 12 qtés, 12 PUHT et donc 12 PTHT, la macro plante. Je ne comprends pas.

Je vous joins le fichier, cela sera beaucoup plus simple à comprendre. Le mot de passe de la feuille est "citedia"

Je vous remercie énormément pour votre aide!
 

Pièces jointes

  • MODELE_validation des commandes V8.xlsm
    235.9 KB · Affichages: 27
Dernière édition:

Arnold35

XLDnaute Junior
Re : Multiplier 2 textboxs même lorsque qu'une des 2 est vide

Merci pour ces précieux correctifs.

Il ne me reste plus qu'une erreur. Quand je clique sur le bouton ajouter, dans le fichier de suivi des commandes (onglet "Suivi des Cdes MDA", le montant TTC qui s'affiche ne correspond pas au montant TTC du formulaire lorsque celui-ci dépasse 1 000€. A quoi cela peut-être du?

Merci
 

Pièces jointes

  • MODELE_validation des commandes V10.xlsm
    275.1 KB · Affichages: 14
  • MODELE_validation des commandes V10.xlsm
    275.1 KB · Affichages: 20
  • MODELE_validation des commandes V10.xlsm
    275.1 KB · Affichages: 18
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Multiplier 2 textboxs même lorsque qu'une des 2 est vide

Bonjour Arnold35,

(...)
Il ne me reste plus qu'une erreur. Quand je clique sur le bouton ajouter, dans le fichier de suivi des commandes (onglet "Suivi des Cdes MDA", le montant TTC qui s'affiche ne correspond pas au montant TTC du formulaire lorsque celui-ci dépasse 1 000€. A quoi cela peut-être du? (...)

Vous avez sans doute remarqué que la procédure Valeurs() modifie les TextBox en les formatant (du moins les devises) avec une virgule et un espace comme séparateurs de milliers et deux chiffres après la virgule.

C'est ce qui perturbe la fonction Val() qui arrête de lire un nombre quand il atteint une virgule ou un espace (chose bizarre d'ailleurs car l'espace est en fait un espace insécable de caractère 0160 sur ma bécane et je ne vois pas pourquoi ?)
La fonction vp retire les caractères indésirable et remplace la virgule par un point; val doit renvoyer la bonne valeur. C'est cette fonction que j'ai utilisé dans l'instruction qui complète la colonne des montants TTC.

J'ai aussi modifié la ligne d'inscription de la date pour la transformer en "vraie" date et non en texte.

Pour le bon de commande, il faudrait sans doute faire des choses analogues. Pour l'instant tout est recopié en texte. Mais pour l'usage à faire de ce bon de commande, c'est sans doute suffisant.

nota : je suis désolé car j'ai encore modifié le nom du classeur mais je commençais à me mélanger les pinceaux avec les différentes versions. Vous être quitte à faire un CTRL+H dans l'éditeur de code pour remplacer V10b par V10 :p
 

Pièces jointes

  • MODELE_validation des commandes V10b.xlsm
    243.1 KB · Affichages: 16
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Multiplier 2 textboxs même lorsque qu'une des 2 est vide

re

Mais Val lui ne beugue pas si l'on utilise la virgule...

ce n'est si évident pour Moi :eek:
Regarde la pièce jointe 935686

mapomme, une simplification pour éviter de multiplier les lignes de code (écriture sur la feuille et initialisation)
Code:
For n = 1 To 12
    Cells(n + 31, 2) = Me("TextBox_Réf_" & n): Me("TextBox_Réf_" & n) = ""
    Cells(n + 31, 3) = Me("TextBox_Désignation_" & n): Me("TextBox_Désignation_" & n) = ""
    Cells(n + 31, 7) = Val(Me("TextBox_Qté_" & n)): Me("TextBox_Qté_" & n) = ""
    Cells(n + 31, 8) = Val(Me("TextBox_PUHT_" & n)): Me("TextBox_PUHT_" & n) = ""
    Cells(n + 31, 9) = Val(Me("TextBox_PTHT_" & n)): Me("TextBox_PTHT_" & n) = ""
Next
 

Pièces jointes

  • CDBL VAL.jpg
    CDBL VAL.jpg
    42.4 KB · Affichages: 28
Dernière édition:

Arnold35

XLDnaute Junior
Re : Multiplier 2 textboxs même lorsque qu'une des 2 est vide

Merci mapomme ça fonctionne parfaitement!

Pour terminer avec ce fichier, j'ai souhaité vérrouiller certaines plages de la commande (onglet " Suivi des Cdes MDA") avec un mot de passe personnel à chaque acheteur. Le but étant d'éviter qu'un acheteur vienne modifier la ligne de commande d'un autre (plage A à H).

J'ai donc écrit un code dans la feuille concerné mais je ne sais pas comment faire pour définir et le mot de passe de la feuille et le mot de passe de l'acheteur entre " ".

Avez vous une idée?

Merci d'avance
 

Pièces jointes

  • MODELE_validation des commandes V10.xlsm
    246.1 KB · Affichages: 16
  • MODELE_validation des commandes V10.xlsm
    246.1 KB · Affichages: 19
  • MODELE_validation des commandes V10.xlsm
    246.1 KB · Affichages: 40

Discussions similaires

Statistiques des forums

Discussions
312 304
Messages
2 087 065
Membres
103 451
dernier inscrit
Souleymane