Faire une pseudo calculette sous VBA

cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
- 7 oct. 2014 à 13:15
cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
- 9 oct. 2014 à 08:20
Bonjour le forum ;)

Donc je suis de retour sur un nouveau petit projet (qui sera pour vous de la rigolade je pense), je vous le présente :

Je voudrais faire (pour mon taf afin de nous faciliter la vie) un programme qui me permette de calculer des indices de fissuration, mon USF est fait je vais vous le détailler :

TextBox de 1 à 30 : on y met les ouvertures de chaque fissures
TextBox32 : ici sera la nombre de fissures total (calcul de TextBox non vide)
TextBox33 : ici on inscrit la longueur du tronçon de l'ouvrage
TextBox34 : ici on inscrit le nombre d'espacement entre fissures (TextBox32 - 1)
TextBox35 : cette valeur est automatique, elle est le calcul de la somme des TextBox de 1 à 30 divisé par le nombre de fissure total
TextBox36 : cette valeur est automatique également, elle est le calcul de la longueur du tronçon divisé par le nombre d'espacement
Le résultat du calcul de l'indice sera lui dans un label (si possible), et sera la division de TextBox35 / TextBox36

Je voudrais juste un coup de main pour réaliser ça... j'espère avoir été précis (pour une fois), j'aimerais que chaque fois qu'on inscrit une valeur, les calculs se fassent en temps réel... dans la mesure du possible bien évidemment ;-)

Merci pour votre aide...

(pour ceux qui me connaisse, vous avez vu? je suis passé à autre chose...mdr)

Bonne journée a tous

christian
--

8 réponses

jordane45
Messages postés
36054
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 août 2022
358
7 oct. 2014 à 14:34
Bonjour Christian,

Nous voulons bien t'aider... mais pour ça il faudrait déjà nous poser une question...

Sur quoi bloques tu exactement ?
0
cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
7 oct. 2014 à 14:58
Salut Jordane,

Comment vas tu ?

Donc je ne bloque pas encore, j'ai juste fais l'USF, mais je bosse en même temps ;-), Je faisais juste la pêche aux infos et pistes à exploiter

La première question est :
Les TextBox (pour les valeur auto) peuvent elles se mettre à jour au fur et à mesure que je rentre les valeurs dans les autre textbox ? si oui comment...

Je compte essayé de coder ça tout seul voir si tout ce que vous m'avez appris jusqu'à aujourd'hui est bien ancré dans ma tête...lol, vous allez tout de même pas me macher le travail à nouveau :)

Bonne journée

Christian
--
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
7 oct. 2014 à 15:07
Bonjour,
A ce stade : intéresse-toi donc :
- à ce qu'est un évènement
- à ce qu'est l'évènement Change d'une Textbox
- à ce qui provoque cet évènement
- au code qu'il convient de mettre dans la procédure évènementielle dont il s'agit pour agir sur d'autres contrôles de ton choix
Voilà.
0
cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
7 oct. 2014 à 15:41
Bonjour ucfoutu,

Je vais me pencher la dessus ce soir, merci pour les infos,

merci

Christian

--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Modifié par ucfoutu le 8/10/2014 à 07:03
Bien.
Pose-toi en attendant des questions sur l'utilité de faire les frais de certaines de tes textboxes.
Une textbox est faite pour y saisir des données et non pour simplement afficher des résultats.
Lorsqu'il ne s'agit que d'affichage, un Label "coûte" moins cher. Et si la donnée "affichée" n'est là que pour servir à des calculs, une simple variable suffit; nul besoin d'encombrer l'interface avec un contrôle (y compris un label).
sont concernées par cette remarque, tes textboxes
TextBox32, TextBox34 , TextBox35 et TextBox36

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
Whismeril
Messages postés
17663
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
14 août 2022
612
8 oct. 2014 à 09:00
Bonjour, dans la même idée d'économie de contrôles qu'Ucfoutu a initiée.
30 textbox pour saisir 1 à 30 données c'est aberrant.
Tu vas devoir 30 fois tester s'il y a un nombre saisi, compter le nombre d'occurrence et faire une somme de 30 variables (nulle ou pas).

Une listbox serait bien plus appropriée.
Pour savoir le nombre d'entrée, il y a la méthode « count », pour faire la somme une boucle (for par exemple ) sur la collection item.
Et pour alimenter cette listbox une seule textbox qui envoie la valeur numérique après la frappe de la touche Enter ou l'appui sur un bouton.

0
cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
8 oct. 2014 à 21:42
Oups... je viens de voir ton post, après avoir écris le miens... j'ai rien trouvé en fait...lol...tant pis pour la médaille... mais merci pour le conseil...mdr

Bonne soirée
0
Whismeril
Messages postés
17663
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
14 août 2022
612
8 oct. 2014 à 21:50
Ben si ça mérite une médaille, mais pour moi ;-)!
0
cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
Modifié par cco86260 le 8/10/2014 à 21:55
pas faux !!
0
cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
8 oct. 2014 à 21:11
Bonsoir a tous,

En fait, j'ai vraiment besoin des 30 TextBox, j'explique pourquoi :

Prenons l'exemple d'un mur en béton, sur ce mur se trouve plusieurs fissures d'ouverture différente, de ces fissures, nous devons calculer l'indice de fissuration, car elle sont toutes additionnées par la suite, cependant, j'ai suivi les conseil d'ucfoutu, j'ai remplacé par des label les textbox servant que pour afficher des resultats, ce qui donne maintenant :

Pour les ouvertures de fissures : 30 TextBox (pas le choix), ... euh... sauf (oui je réfléchi pendant que j'écris)... peut être une textbox, avec une ListBox à coté, et, un bouton ajouter... ce qui ferait que, je rentre ma première ouverture de fissure dans ma textbox, je clique sur mon bouton, la valeur s'ajoute dans la listbox, ainsi de suite, jusqu'à la dernière ouverture de fissure ce qui fait que :

On a le suivi en temps réel des fissure que l'on ajoute
les résultats des label se mettent à jour sur un événement clique (celui du bouton)

et du coup le calcul se fait au fure et a mesure que j'entre mes valeurs...

Qu'en pensez vous ?

Bonne soirée
Christian

--
0
jordane45
Messages postés
36054
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 août 2022
358
8 oct. 2014 à 21:19
C'est sûrement une des meilleures solutions
0
cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
8 oct. 2014 à 21:26
ohh ??!!, c'est vrai, ça mérite une médaille alors... mdr
0
cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
8 oct. 2014 à 21:32
Je viens de modifier mon USF comme ceci :

1 TextBox, dessous un bouton, une ListBox ( ça c'est pour les fissures)
1 label pour le nombre de fissures (correspond au nombre de valeur dans la ListBox)
1 TextBox pour saisir la longueur du "mur", normalement appelé tronçon
Un label pour le nombre d'espacement entre les fissure (égale au nombre de fissure - 1
2 Label pour le calcul de l'ouverture moyenne et la longueur moyenne
1 label pour afficher notre fameux indice de fissuration...

Voilà, me reste plus qu'à coder tout ça... aille...

Bonne soirée,
Christian
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
9 oct. 2014 à 06:34
Bon.
Au boulot, donc.
Une dernière réflexion, toutefois :
Ce que tu cherches à faire n'est finalement qu'un mini tableur. Et tu cherches à le faire à partir d'un userform que tu crées, à l'aide de VBA, à partir d'un classeur Excel, qui n'est autre qu'un tableur puissant, lui (et qui sera de toutes manières chargé).
On peut alors se demander pourquoi ne pas faire ce "travail" directement sur une feuille de calcul de Excel. Et tous tes calculs pourraient alors se faire sans le moindre code (uniquement des formules Excel) !
Conclusion ? ta méthode/userform n'a alors de réel intérêt que si le but recherché n'est pas de servir utilement ton entreprise, mais de te familiariser avec VBA par des petits exercices de ce genre.
0
cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
9 oct. 2014 à 08:20
Bonjour ucfoutu,

Effectivement, j'ai l'ai déjà sur un classeur avec des formule, mais comme tu l'as deviné, c'est effectivement pour me familiariser avec VBA, mais au départ je voulais le faire en VB.NET, car on a plusieurs petits outils de ce genre, donc en faire un application à part entirère serait mieux, mais j'ai peur de la complexité

Merci, bonne jourée

Christian...
0