Calcul en temps réel dans un userform

Fermé
zapp56 - 3 mars 2015 à 21:14
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 4 mars 2015 à 09:06
Bonjour,

Pour faire simple, j'ai un userform sous forme de tableau, avec une soixantaine de textbox, qui doivent donner un résultat dans la dernière colonne.

Je voudrais que ces résultats se calculent en temps réel, c'est à dire exactement comme si je faisais ce tableau sous excel avec en dernière cellule de ligne (=somme A1:G1). Chaque fois que je remplis une textbox et passe à une autre, le calcul se fait.

Y-a-t-il une autre solution que d'éditer chaque textbox_click dans le code ? (64 textbox à éditer...)

Merci d'avance.
A voir également:

2 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
3 mars 2015 à 22:21
Bonsoir Zapp, bonsoir le forum,\

Il te faut passer par un module de classe... Tu crées une classe pour tes TextBoxes numériques. À l'initialisation de l'Userform un tableau récupère les contrôles qui vont faire partie de la classe. Au changement dans n'importe quelle textbox de la classe le total s'affiche.
J'ai longtemps galéré avec les modules de classe alors je t'envoie un petit fichier Word que je ressors chaque fois que je dois en créer un et un petit exemple Excel :

https://www.cjoint.com/c/ECdwFooTNUy

Il te faudra, bien sûr, l'adapter à ton cas. J'ai commenté le code..
1
Ok je vais consulter ça. J'ai commencé à m'habituer au VBA et aux userforms mais je débute encore.
J'ai commencé la programmation sur Basic de calculatrice et mes développements VB sont pas toujours très... académiques. J'ai réussi à me séparer de la programmation spaghetti mais bon.

Je vais consulter tout ça. Merci à toi.
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
4 mars 2015 à 09:06
Bonjour,

Voir ceci:

https://silkyroad.developpez.com/VBA/ControlesUserForm/#LI-B

Encore un autre exemple pour boucler sur les TextBox: Transférer le contenu de 10 TextBox dans la plage de cellules A1:A10

Private Sub CommandButton1_Click()
    Dim i As Integer
    
    For i = 1 To 10
    Cells(i, 1) = Me.Controls("TextBox" & i)
    Next i
End Sub


0