Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

multiplication automatique de deux texbox

  • Initiateur de la discussion Initiateur de la discussion zalaoui
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Z

zalaoui

Guest
Bonjour,
Je suis en train de développer une application sous VB 2007 et j'arrive pas à résoudre mon problème tout seul.
Voilà, j'ai 2 textbox (1et2) (prix unitaire et quantité) et je veux afficher automatiquement le résultat de leur multiplication dans texbox3. J'aimerai donc afficher dynamiquement. je l'ai fait manuellement mais c'est vraiment stressant, Je sais vraiment pas quoi faire, quel méthode utiliser et où mettre les codes.
J'ai besoin de votre aide les amis.
 
Re : multiplication automatique de deux texbox

Bonsoir.
Mettez le dans une procédure de l'Userform que vous appellerez lorsqu'un des TextBox change.

Edit: Bonsoir Néné0a
 
Dernière édition:
Re : multiplication automatique de deux texbox

Bonsoir néné06,

Merci pour ta réponse, Je vais t’expliquer ce que j’ai comme projet à rendre et ce que j’ai fait et ce qui me reste à faire.

ci-joint mon fichier

Objectif : c’est de crée une userform qui contiendra des données qui seront envoyé à une facture après clique sur valider.

Ce qui est fait : J’ai fait une userform qui contiendra les information d’un client ainsi que sa commande (articles, prix ht, prix ttc, mode de paiment …)
J’ai 22 articles et devant chauque article la quantité et le prix (des checkbox et textbox).
J’ai programmer le bouton Menu pour ouvrire l’userform.
J’ai progammer le bouton Ticket pour envoyer les infos clients vers la Feuil3 (B6 :B7 :B8…).
J’ai programmer le bouton Enregistrer pour envoyer les informations client à la base de données vente( BD Ventes).

Maintenant je veux que si je coche l’article 1 (Arpegio) cet article doit etre afficher dans la Feuil3 :A13 avec la quantité et le prix
Si je coche l’article 2 (Bukeela) cet article doit etre afficher dans la Feuil3 :A14 avec la quantité et le prix
.
.
.
Etc


Pouvez-vous m’aider sur ce point s’il vous plait ? 🙁

Merci,

d'avance,


Cdt,

Zalaoui
 

Pièces jointes

Re : multiplication automatique de deux texbox

Donnez des noms mnémoniques se terminant par un numéro à vos contrôles.
ChkGCru1 TbxQté1 TbxPrix1 TbxTot1
Voyez au passage si certains ne devraient pas être des Label plutôt que des TextBox.
Prévoyez les trois contrôles associés dans votre module de classe, et mettez y le code qu'il faut.
(C'est à dire pas du tout celui qu'il y a: différez l'écriture dans les cellules au moment du bouton Enregistrer)

Je me pose quand même des questions. Êtes vous sûr de vouloir le faire comme ça ?
La plupart des grands crus se définissent par la frappe de moins de 3 caractères. Peut être plus rapide que de le chercher visuellement parmi les 22 puis cliquer dessus. Après frappe, Tab pour champ suivant quantité, puis Entrée pour l'ajouter au panier, constitué d'une ListBox à 4 colonnes, non ? …
 
Dernière édition:
Re : multiplication automatique de deux texbox

Bonsoir Dranreb et merci pour ton post,

premièrement je m'excuse de ma réponse tardive, au fait je ne suis pas un développeur VB, je ne suis pas vraiment un connaisseur dans le domaine, je suis plutôt spécialiste en tous ce qui systèmes et réseau, mais mon boss m'a demandé une petite application (userform) qu'ont pourront utiliser durant un événement, et qui pourra générer des données automatiquement dans une base de donnée (BD Ventes) et (Feuil3=facture) pour éviter de retaper les données deux fois ... c'est pour cette raison j'ai fait ce petite et modeste exemple.

Merci

Bien cordialement,

Zalaoui
 
Re : multiplication automatique de deux texbox

Si vous tenez à le faire comme ça le code du module de classe pourrait ressembler à ça:
VB:
Option Explicit
Dim WithEvents ChkGCru As MSForms.CheckBox
Dim WithEvents TbxQté As MSForms.TextBox
Dim LabPrixU As MSForms.Label
Dim LabPrixQté As MSForms.Label
Dim Qté As Long, PrixU As Currency

Public Sub Init(TArt(), ByVal N As Long)
Set ChkGCru = UserForm2("ChkGCru" & N)
Set TbxQté = UserForm2("TbxQté" & N)
Set LabPrixU = UserForm2("LabPrix" & N)
Set LabPrixQté = UserForm2("LabTot" & N)
ChkGCru.Caption = TArt(N, 1)
PrixU = TArt(N, 2): LabPrixU.Caption = Format(PrixU, "0,00 €")
End Sub

Private Sub ChkGCru_Click()
If ChkGCru.Value Then
   If Qté = 0 Then TbxQté.Text = "1"
Else
   TbxQté.Text = "": End If
MàJLabTot
End Sub

Private Sub TbxQté_Change()
On Error Resume Next
Qté = TbxQté.Text
If Err Then Qté = 0
On Error GoTo 0
ChkGCru.Value = Qté > 0
MàJLabTot
End Sub

Public Function PrixQté() As Currency
PrixQté = PrixU * Qté
End Function

Private Sub MàJLabTot()
LabPrixQté.Caption = IIf(Qté > 0, Format(PrixQté, "0,00 €"), "")
End Sub

Public Sub Enreg(Ts(), ByVal L As Long)
If Not ChkGCru.Value Then Exit Sub
L = L + 1
Ts(L, 1) = ChkGCru.Caption
Ts(L, 2) = Qté
Ts(L, 3) = PrixU
Ts(L, 4) = PrixQté
End Sub
Mais je ne pense pas que ce soit le meilleur système, ni le plus simple. Il vaudrait mieux un seul ComboBox pour y taper le début du nom de l'article, et ranger chaque ligne de commande dans un tableau VBA et dans une ListBox. L'article pourrait aussi être choisi dans la liste du ComboBox d'ailleurs, mais on aurait en plus la frappe préalable pour s'y positionner au plus près.
 
Re : multiplication automatique de deux texbox

Merci Dranreb pour ta réponse, sérieusement je ne suis pas un connaisseur en VB, j'ai pas vraiment compris ce que tu as écrit 🙁 je te remercie en tous cas et je m'excuse parce que je ne métrise pas vraiment le VB et le VBA 😕 c'est pour ca j'ai mit des choses simples comme ce que tu as vu sur mon premier post, même le module de classe que tu as vu sur mon fichier c'est juste un exemple que j'ai trouvé sur internet, beh si tu veux je te passe mon adresse email et on discutera plus sinon est ce qu'il y a une manière plus facile que ça ? je m'excuse vraiment pour le dérangement ...
 
Re : multiplication automatique de deux texbox

Oui: Un ComboBox pour choisir ou taper la désignation article, un TextBox pour saisir la quantité, un bouton (pouvant aussi s'actionner avec la touche Entrée) pour ajouter la ligne à la ListBox panier, puis le même bouton, pourquoi pas, si plus rien d'autre n'a été choisi, pour décharger le tout sur BD Ventes et sur facture.
Comment voulez vous mettre en correspondance vos différents TextBox nommés n'importe comment ? Impossible !
On ne pourrait mettre en correspondance les différents controles d'une même lignes qu'à condition qu'ils soit tous défini dans le module de classe. Non mais il faut laisser tomber cette histoire de modules de classe, et virer tout ça. Je ne vois pas ce que vous croyez avoir prévu de simple dans ce que vous avez commencé !
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…