Userform évenementiel sur plusieurs textbox

titiborregan5

XLDnaute Accro
Bonjour à tous,

j'ai une question sur la gestion des userforms...

J'ai fait un userform où j'ai une répartition monétaire par mois ou par trimestre ou par semestre ou une fois par an au choix pour l'utilisateur.

Ce que je souhaiterais c'est qu'à chaque fois qu'une des cases mois ou trimestre ou semestre ou année est modifiée le total s'actualise automatiquement...

Comment cela est il possible? dois-je faire une procédure évènementielle pour chacune de mes textbox (12+4+2+1=19 fois le même code!) ou puis-je le faire à chaque changement d'une des textbox???

Je me suis dit peut-être qu'en les mettant dans un frame... Pas réussi...
J'ai fait un exemple bidon et simplifié, si qq1 a une idée de comment faire???

Edit: peut-être faut il passer par une déclaration withevent?? je ne connais pas du tout cela, je viens de tomber dessus à l'instant en cherchant!

Merci à tous!!!
Tibo
 

Pièces jointes

  • multi change.xls
    28 KB · Affichages: 47
  • multi change.xls
    28 KB · Affichages: 50
  • multi change.xls
    28 KB · Affichages: 54
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Userform évenementiel sur plusieurs textbox

Bonjour titiborregan5,

Ci-joint ton fichier modifié.

Une boucle balaie tous les contrôles insérés dans Frame1. Ceci veut dire que ce dernier ne doit pas comprendre d'autres types de contrôles autres que des TextBox. Sinon il faudrait inclure un test du genre:

Code:
If TypeOf ctl Is MSForms.TextBox Then...

Le code de chaque TextBox se contente d'appeler la procédure Sub Totaux() contenue dans le module UserForm1.

J'ai respecté la structure de ton code initial, mais il serait préférable de procéder avec un module de classe, et ce d'autant plus que tes contrôles seront nombreux et que leur nombre est susceptible de varier.

Cordialement.
 

Pièces jointes

  • multi change.xls
    49.5 KB · Affichages: 39
  • multi change.xls
    49.5 KB · Affichages: 40
  • multi change.xls
    49.5 KB · Affichages: 40

Papou-net

XLDnaute Barbatruc
Re : Userform évenementiel sur plusieurs textbox

RE:

Ci-joint une version avec module de classe.

Tu constateras la simplicité du code dans le module de classe TBox, et plus aucune ligne dans les zones de texte de UserForm1. Tu peux également "t'amuser" à supprimer ou ajouter des TextBox ou autres contrôles, tu n'auras plus aucune ligne de code à modifier.

Bonne journée.

Cordialement.
 

Pièces jointes

  • multi change-ModuleClasse.xls
    48 KB · Affichages: 50

titiborregan5

XLDnaute Accro
Re : Userform évenementiel sur plusieurs textbox

Hello Si, merci pour ta réponse.
Malheureusement ça ne correspond pas trop à ce que j'ai...

@Papou ton fichier est très bien et répond à ce que je veux. J'ai réussi à l'intégrer à mon fichier après qq tentatives difficiles...

Pour approfondir, j'ai une optionbutton qu'on coche avec mois trimestre semestre année et qui affiche en fonction du résultat les 12 mois ou les 4 trimestres ou les 2 semestres ou 1 case année avec le mois à choisir.

Lorsque je passe de l'un à l'autre, les totaux s'additionnent dans mon textbox9! à quel moment faut il le remettre à 0? je pense que c'est le Tt1 qu'il faut réinitialiser, mais quand???

Encore merci beaucoup!

Edit: j'ai trouvé, c'est que comme ce sont différents textbox qui s'affichent selon le choix de l'optionbutton, il faut les remettre à zéro lorsqu'on tique un nouveau... j'essaie de voir de ce coté là, affaire à suivre ;)
Re Édit: ça marche!!! Merci beaucoup à vous tous!!!
 
Dernière édition:

titiborregan5

XLDnaute Accro
Re : Userform évenementiel sur plusieurs textbox

Re bonjour à tous,

j'ai bien réussi à appliquer ça une case qui reprend les totaux soit par mois, soit par trimestre soit par semestre soit pour l'année globale pour 2015. Pour 2016, 2017 et 2018 je n'ai pas le détails mais juste un total.
J'aimerais que mon total général (2015+2016+2017+2018) puisse se calculer de la même façon mais je n'y parviens pas...

je vous ai mis mon fichier, j'aimerais donc que le textbox montant_total = t_montant_n0 + t_montant_n1+t_montant_n2+t_montant_nx et qu'il varie en direct à chaque changement d'une de ces 4 textbox, sachant que t_montant_n0 change aussi automatique selon les cases du dessus...

Si vous voyez ce que je veux dire et que vous avez une solution...

Merci à tous!!!

Tibo
 

Pièces jointes

  • Proposition budget anonyme.xls
    514.5 KB · Affichages: 48
  • Proposition budget anonyme.xls
    514.5 KB · Affichages: 48
  • Proposition budget anonyme.xls
    514.5 KB · Affichages: 62

aspe

XLDnaute Junior
Re : Userform évenementiel sur plusieurs textbox

Bonjour le fil,

Peut être:
montant_total = cdbl(t_montant_n0) & cdbl(t_montant_n1) &...(

Edit : non, non, je raconte une connerie la.

j'en ai une ans le genre qui modifie un textbox,
Private Sub TextBox7_Change()
TextBox47 = CDbl(TextBox5) + CDbl(TextBox7)

End Sub

Mais là, je suis trop novice pour pouvoir t'aider.
 
Dernière édition:

titiborregan5

XLDnaute Accro
Re : Userform évenementiel sur plusieurs textbox

Hello aspe,

le truc c'est que je veux que ce soit évènementiel...
Papou-net m'avait donné la solution pour un frame avec plein de textbox (nbr variable) que j'avais réussi à adapter, mais là je bloque car il y avait pas mal de trucs nouveaux pour moi dans ce qu'il m'avait fait...
Dois-je refaire un module de classe? Utiliser le même?
Que faire à l'initialisation de l'usf? etc...

J'ai rajouté une PJ où j'ai essayé mais ça ne marche pas terrible et c'est bien plus long... j'ai rajouté un frame (frame3) pour regrouper mes 4 sous totaux...

Le truc c'est que même en mode pas à je n'y arrive pas car je ne sais pas comment se déclenche comporte le code de papou...

Merci de votre aide!
 

Pièces jointes

  • Proposition budget anonyme v2 ko.xls
    532.5 KB · Affichages: 40
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Userform évenementiel sur plusieurs textbox

Bonsoir titiborregan5,

Je n'ai pas bien compris le fonctionnement de ton programme, néanmoins je l'ai modifié pour que la case Montant_total récupère les 4 montants de Frame3.

Tu constateras que cette opération se fait dans le module de classe, après avoir créé une nouvelle classe pour ces cases dans UserForm_Activate. Ceci afin de ne pas influer sur les contrôles de Frame1.

Espérant avoir été clair dans mes explications.

A +

Coprdialement.
 

Pièces jointes

  • Proposition budget anonyme v2 modifie.xls
    558.5 KB · Affichages: 54

titiborregan5

XLDnaute Accro
Re : Userform évenementiel sur plusieurs textbox

Bonsoir Papou,
Comme je l'ai dit plus haut, j'ai fait de façon artisanale en répétant le code sur les 4 textbox_change...
Je regarderai ton code lundi mais tenais à te remercier par avance...
Pour le programme, on choisit opération ponctuelle ou dépenses récurrentes et la fréquence ensuite (sauf pour les dépenses récurrentes où la fréquence est automatique)...
En espérant avoir apporté qq précisions...

Faut absolument que je me penche sur ces modules de classe que je ne connais absolument pas...
Encore merci

Tibo
 

Papou-net

XLDnaute Barbatruc
Re : Userform évenementiel sur plusieurs textbox

RE:

J'ai oublié de te préciser que je n'ai pas trouvé de code événementiel (TextBox_Change) pour ces 4 cases. Par contre, j'ai rendu le bouton Actualiser le total invisible à l'utilisation.

Les modules de classe ne sont pas d'un abord facile, surtout au début, mais quelle efficacité dans leur usage. J'avoue qu'encore aujourd'hui je suis obligé de m'inspirer des précédents modules que j'ai écrits pour en concevoir de nouveaux, tant la structure n'est pas d'une clarté évidente.

Bon WE.

Cordialement.
 

titiborregan5

XLDnaute Accro
Re : Userform évenementiel sur plusieurs textbox

Arf je n'ai pas reposté ma dernière version avec les textbox_change que j'avais fait suite à mon message ici...
Mais le concept était de refaire ma somme à chaque change... Rien de dingue...
J'avoue que pour les modules de classe je n'ai pas été capable de le mettre à jour correctement...
Merci encore pour ton aide...
Je regarderai ça plus attentivement lundi.
Bon week-end à tous
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 342
Membres
103 192
dernier inscrit
Corpdacier