Microsoft 365 Calcul TEXTBOX dans Userform

eric72

XLDnaute Accro
Bonjour,
Je cherche à faire des calculs de Textbox dans un Userform en sachant qu'elles ne sont pas toujours toutes renseignées à chaque fois, malgré cela j'aimerais que le calcul se fasse quand même en tenant compte de celles renseignées, donc j'ai adapté ce code mais ça ne va pas.
Ou est la boulette?
Merci à tous
 

Pièces jointes

  • Gestion Fiche Produit test.xlsm
    204 KB · Affichages: 31

patricktoulon

XLDnaute Barbatruc
non tu peux poser des question mais j’avoue qu’après toutes les heures passé dessus ce weekend tu me sort des petite carabistouilles que tu peux régler toi même avec un peu de bon sens
par exemple si tu avais regardé le code avec méthode tu n'aurait pas posé la question , du fullscreen
ça marche pas qu'est ce qui se passe??
bon ok on part du début
le fullscreen se produit quand (dans le activate) --->>> ok je vais voir
c'est là ou pas là que ca va pas --->> je poursuit sinon je règle le problème
et ainsi de suite

de la méthode c'est tout et de l'ordre
il ne s'agit là ni de code ni de programmation mais simplement de logique
si tu a une fuite au WC tu va pas voir au lavabo non?

c'est ton projet a la base tu le connais mieux que moi
 

eric72

XLDnaute Accro
Bonjour Patrick
Oupsss Salut à Eric lol

eric va revenir , t'inquiète il regarde il cherche il essaye de comprendre puis il va réapparaître
Bonne fin de journée
j'attends le fichier final lol
jean marie
Bonjour Jean-Marie
Patrick a fait un boulot de malade, d'expert, pas facile de tout comprendre mais il m'a maché tout le boulot.
Il est génial ce mec!!!

Bonne journée
Eric
 

patricktoulon

XLDnaute Barbatruc
1 des carabistouilles que tu peux rencontrer

le code article tu le tape a la main ben là pareil que prixvente si il existe déjà tu es chocolat aucun test prévu

allez solution :
VB:
Private Sub CodeArticle_AfterUpdate()
Dim x&
With Range("BDproduit[Code Article]")
x = Application.IfError(Application.Match(Val(CodeArticle.Value), .Value, 0), 0)
If x > 0 Then MsgBox "ce code article est déja utilisé": CodeArticle = "": Exit Sub
End With
End Sub

alors que dans la conception même!!!!!! on aurait laisser le flux faire de lui même cellule précédente +1 ou bien (max de la colonne---> au cas ou il y aurait des suppressions )
bref ça aurait été plus simple

j'ai vu une expo un jour d'un artiste ca s'apelait l'art du désordre
ben t'es un artiste 😂😂😂😂😂😂
 

patricktoulon

XLDnaute Barbatruc
jean-marie hier après t'avoir donné les exemples combo sans doublons je t'ai fait un exemple simplicime avec 4 textbox et un textbox résultat avec ma méthode one classe simplifiée

ca sera peut être plus facile a comprendre que celle qui est dans le fichier de Eric qui englobe les frame userform et sub classes d'object textbox

si vous voulez je vous la donne pour apprentissage
 

eric72

XLDnaute Accro
allez j'ai fini mon projet
quand c'est bien pensé ça va plus vite

j'ai une heure avant de partir en tournée client pose tes questions
allez j'ai fini mon projet
quand c'est bien pensé ça va plus vite

j'ai une heure avant de partir en tournée client pose tes questions

Patrick,
J'ai fait quelques tests, il y a juste un petit souci lorsqu'on tape les premières lettres d'un produit et comme le chargement des données est sur le "Click" du CbRecherche, ça ne fonctionne pas, est-ce que je peux transformer le "Click" sur le "AfterUpdate" sans qu'il y ait des conséquences sur le reste?
Merci
Eric
 

ChTi160

XLDnaute Barbatruc
Bonsoir ,
une question à Patrick sur le fichier qu'il a eu la gentillesse de nous préparer
peux tu m'expliquer pourquoi
dans cette procédure :
VB:
If ctrl.Tag = "x" Then    'j'ai mis un"x" dans le tag des textbox que je veux inclure dans la classe
            a = a + 1
                ReDim Preserve cl(1 To a)
            Set cl(a).txtb = ctrl    'on instancie une instance de classe pour chaque textbox
            Set cl(a).TXTresultat = uf.TextBox5    'on inclu le textbox5 pour le resultat
                ReDim Preserve tous(1 To a)
            Set tous(a) = ctrl    'je stocke tous les textbox en tant qu'object dans une variable tableau provisoire dans la loucle
End If
on a :
Code:
Set cl(a).TXTresultat = uf.TextBox5    'on inclu le textbox5 pour le resultat
c'est a dire que l'on rentre 4 fois le TextBox5 dans la Classe , c'est ça ?
d'ou ma question.
Merci par avance
Jean marie
 

patricktoulon

XLDnaute Barbatruc
re

re
et oui je crois que vous avez pas bien saisi la notion de classe
c'est a dire que l'on rentre 4 fois le TextBox5 dans la Classe , c'est ça ?
non en fait je rentre 1 fois textbox5 dans chaque instance de la classe
car pour gerer 4 textbox on instancie 4 instances du module classe


ainsi quand l'event unique est déclenché par un des 4 le textbox5 qui devient l'object "resultat" est reconnu sinon ca ne fonctionnerait pas

a la fin du classement vois le module classe virtuellement!!! dupliqué 4 textbox 4 instances
dans chaque instance les un ne seconnaissent pas des autres a l'inverse dans le userform ou de l'un on peu communiquer a l'autre

dans un userform on peut faire dans l'event change de textbox1 par exemple

textbox2 =textbox1
ca on ne peut pas dans une instance de classe
1 instance 1 seul control géré dans l'event TXTB
il faut donc signifier dans l'instance les object qui lui sont lié sous forme de tableau d'object si plusieur ou variable object ou autre si un seul qui est lié

je vous ferais un exemple encore plus explicite avec des différent nom comme ça vous comprendrez mieux
 

Discussions similaires

Réponses
10
Affichages
315

Statistiques des forums

Discussions
311 725
Messages
2 081 942
Membres
101 849
dernier inscrit
florentMIG