Résultats Button Incomplets.

Résolu/Fermé
Pop85 Messages postés 16 Date d'inscription jeudi 25 août 2022 Statut Membre Dernière intervention 15 décembre 2022 - Modifié le 29 août 2022 à 08:18
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 29 août 2022 à 19:44

Bonjour,

Voila mon petit souci. Sur une form j'ai un button qui doit me faire 3 opérations, lorsque je clique dessus il ne m'affiche que le premier résultat. Je dois cliquer dessus une seconde fois pour l'obtention du 2ème résultat. Idem pour le 3ème. Voici le code perso du button. Pouvez-vous m'aider, Merci

Refresh()
       
        'Déclaration de Variables pour le traitement de l'année
        'Variable jours
        Dim VarTBjour1 As Integer
        Dim VarTBjour2 As Integer
        'Variable mois
        Dim VarTBMois1 As Integer
        Dim VarTBMois2 As Integer
        'Variable année
        Dim VarTBAnnée1 As Integer
        Dim VarTBAnnée2 As Integer
        Dim VarTBAnnée3 As Integer
        Dim VarTBAnnée4 As Integer
        'Variable Résultat
        
        
        'Dim VarTBRésulKarmaCaché1 As Integer
        'Dim VarTBRésulKarmaCaché2 As Integer
        Dim VarTBresulCheminDeVie1 As Integer
        Dim VarTBRésulCheminDeVie2 As Integer
        Dim VarTBRésulCheminDeVie3 As Integer
        Dim VarTBRésulCheminDeVie4 As Integer
        Dim VarTBRésulCheminDeVie5 As Integer
        Dim VarTBRésulCheminDeVie6 As Integer
   
        'Variable pour la concaténation
        Dim VarTest1 As Integer

        VarTBjour1 = Val(TBjour1.Text)
        VarTBjour2 = Val(TBjour2.Text)
        VarTBMois1 = Val(TBMois1.Text)
        VarTBMois2 = Val(TBMois2.Text)
        VarTBAnnée1 = Val(TBAnnée1.Text)
        VarTBAnnée2 = Val(TBAnnée2.Text)
        VarTBAnnée3 = Val(TBAnnée3.Text)
        VarTBAnnée4 = Val(TBAnnée4.Text
        'VarTBRésulKarmaCaché1 = Val(TBRésulKarmaCaché1.Text)
        'VarTBRésulKarmaCaché2 = Val(TBRésulKarmaCaché2.Text)
        VarTBresulCheminDeVie1 = Val(TBRésulCheminDeVie1.Text)
        VarTBRésulCheminDeVie2 = Val(TBRésulCheminDeVie2.Text)
        VarTBRésulCheminDeVie3 = Val(TBRésulCheminDeVie3.Text)
        VarTBRésulCheminDeVie4 = Val(TBRésulCheminDeVie4.Text)
        VarTBRésulCheminDeVie5 = Val(TBRésulCheminDeVie5.Text)
        VarTBRésulCheminDeVie6 = Val(TBRésulCheminDeVie6.Text)
        VarTBRésulChemindeVieFinal = Val(TBRésulChemindeVieFinal.Text)
        VarTest1 = Val(TBConcatenationChemVie.Text)
        Refresh()
        TBRésulCheminDeVie1.Text = VarTBjour1 + VarTBjour2 + VarTBMois1 + VarTBMois2 + VarTBAnnée1 + VarTBAnnée2 + VarTBAnnée3 + VarTBAnnée4
        TBRésulCheminDeVie4.Text = VarTBRésulCheminDeVie2 + VarTBRésulCheminDeVie3
        TBRésulChemindeVieFinal.Text = VarTBRésulCheminDeVie4 + VarTBRésulCheminDeVie5
        TBConcatenationChemVie.Text = TBRésulCheminDeVie1.Text & TBRésulCheminDeVie4.Text
    End Sub


Windows / Edge 104.0.1293.63

9 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
Modifié le 29 août 2022 à 08:50

Bonjour


Tout d'abord pour poster un code, merci de suivre ce qui est décrit là https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code et de choisir Basic, pas VBScript


Ensuite, si tu utilises Visual Studio Community, tu es censé coder en VB.Net, mais ton code ressemble beaucoup plus à du VBA (comme sur Excel). Visual Basic Express n'est pas un langage, mais un IDE qui n'existe plus, depuis l'avènement de Community.

Aussi surprenant que ça puisse être, VB.Net ce n'est pas du VB, c'est du C# déguisé en VB.

Donc pour bien coder en VB.Net, la première chose à faire est de désactiver la référence à Visual Basic (ci-dessous une vieille capture, VS 2015 ou 2015, mais dans 2022 ça y ressemble fort)

Ensuite, il faut mettre Option Strict et Option Explicit.

Une fois fait, tu verras que ton code est souligné de rouge à plein d'endroits.

Tous ces traits rouges, te signalerons soit des utilisations de VBA/6 dans VB.Net, soit des mauvaises pratiques dues au fait que Option Strict et Option Explicit n'étaient pas activés.

Tous ces traits rouges sont des raisons de bug aléatoires potentiels. Et comme c'est aléatoire, c'est super galère à trouver.



Une fois ces impératifs réglés, il est fortement déconseillé d'utiliser des accents dans les noms de variables.

D'ailleurs, appeler tes variables VarQuelqueChose n'est pas forcément judicieux, j'imagine que ça t'aide à te rappeler que ce sont des variables, mais Var est un type de données, ça peut aussi prêter à confusion.

Autre point, on n'utilise pas 3 int pour des dates, on se sert du type DateTime


Et alors, le top, serait d'avoir écrit une classe dont le job est de faire tes calculs, sans aucune interface graphique (juste des données d'entrées et des données de sortie), on appelle ça une classe métier, et c'est le fondement de .Net les classes métiers.

Et coté IHM, seul le lien entre le graphique et les classes métiers est codé.

Mais bon, ce sera l'étape d'après

Quoi qu'il en soit, je te conseille la lecture de ce cours, https://tahe.developpez.com/dotnet/vbnet/


1
Pop85 Messages postés 16 Date d'inscription jeudi 25 août 2022 Statut Membre Dernière intervention 15 décembre 2022
29 août 2022 à 17:39

Re-bonjour,

Juste une petite question, j'ai installé Delphi, j'ai investi dans de la doc "Delphi 10.3" de Thierry Grassia. Est-ce que tu me conseilles D'utiliser ce produit ou bien d'utiliser C#. Etant retraité j'ai mes soirées de dispo et je veux m'investir dans la programmation (même des petits programmes) pour débuter.

Merci, Pos85

0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931 > Pop85 Messages postés 16 Date d'inscription jeudi 25 août 2022 Statut Membre Dernière intervention 15 décembre 2022
29 août 2022 à 19:44

Je ne connais pas Delphi.

J'ai fait du pascal, il y a longtemps, et je sais que Delphi c'est du pascal objet (et donc des classes).

Si la doc dont tu parles est ce livre : https://livre.fnac.com/a15197802/Thierry-Grassia-Delphi-10-3 alors c'est un cours, pas une doc. Et je ne sais pas s'il est bien ou pas.

La différence entre une doc et un cours et que la doc présente tous les mots clés, instructions, classes etc... mais ne t'apprends pas à coder (y'a des exemples, mais c'est tout). Un cours va t'apprendre à coder, il va te donner les notions nécessaires pour comprendre les algorithmes, l'objet, etc. Mais il ne va te montrer que les mots clés, instructions et classes les plus courants et le laissera chercher dans la doc pour les autres.

Je ne sais pas te dire lequel, entre VB.Net ou Delphi est plus accessible pour un débutant.

Mais autant rentabiliser tes presque 40€

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 août 2022 à 10:22

Bonjour,

Votre description c'est ce que vous attendez ou pas?

Pouvez mettre un fichier exemple a dispo?

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 août 2022 à 10:34

Bonjour,

Ce n'est pas Visual Basic Express mais Visual Web Developer 2010 Express

0
Pop85 Messages postés 16 Date d'inscription jeudi 25 août 2022 Statut Membre Dernière intervention 15 décembre 2022
27 août 2022 à 21:19

Bonjour f894009, désolé mais il s'agit bien de visual basic Express 2022 de Visual Studio community. Aurais tu une solution à mon problème.

Merci

0

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

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
28 août 2022 à 07:46

Bonjour,

Ok, pige, c'est le code d'une form. Par contre avec le projet serait plus facile

Je dois cliquer dessus une seconde

C'est ce que vous voulez ou vous voulez les resultats sur un seul click?

0
Pop85 Messages postés 16 Date d'inscription jeudi 25 août 2022 Statut Membre Dernière intervention 15 décembre 2022
Modifié le 29 août 2022 à 08:20

Bonjour, 

Dans la simplicité et l'absolu il serait sympa qu'un seul clic affiche mes résultats. Voulez vous plus d'infos sur le programme;

If BtCalculCheminDeVie.Enabled = True Then
            BtCalculCheminDeVie.BackColor = Color.Chartreuse
        End If
        'Déclaration de Variables pour le traitement de l'année
        'Variable jours

'Ici je documente une date de naissance

'Variable Jour
        Dim VarTBjour1 As Integer
        Dim VarTBjour2 As Integer


        'Variable mois
        Dim VarTBMois1 As Integer
        Dim VarTBMois2 As Integer
        'Variable année


        Dim VarTBAnnée1 As Integer
        Dim VarTBAnnée2 As Integer
        Dim VarTBAnnée3 As Integer
        Dim VarTBAnnée4 As Integer
        'Ma TextBox pour le 1er Résultat
        Dim VarTBresulCheminDeVie1 As Integer

   
        Dim VarTBRésulCheminDeVie2 As Integer
        Dim VarTBRésulCheminDeVie3 As Integer
        Dim VarTBRésulCheminDeVie4 As Integer
        Dim VarTBRésulCheminDeVie5 As Integer
        Dim VarTBRésulCheminDeVie6 As Integer
        Dim VarTBRésulChemindeVieFinal As Integer


        'Variable pour la concaténation
        Dim VarTest1 As Integer

        VarTBjour1 = Val(TBjour1.Text)
        VarTBjour2 = Val(TBjour2.Text)
        VarTBMois1 = Val(TBMois1.Text)
        VarTBMois2 = Val(TBMois2.Text)
        VarTBAnnée1 = Val(TBAnnée1.Text)
        VarTBAnnée2 = Val(TBAnnée2.Text)
        VarTBAnnée3 = Val(TBAnnée3.Text)
        VarTBAnnée4 = Val(TBAnnée4.Text)
        

        VarTBresulCheminDeVie1 = Val(TBRésulCheminDeVie1.Text)
        VarTBRésulCheminDeVie2 = Val(TBRésulCheminDeVie2.Text)
        VarTBRésulCheminDeVie3 = Val(TBRésulCheminDeVie3.Text)
        VarTBRésulCheminDeVie4 = Val(TBRésulCheminDeVie4.Text)
        VarTBRésulCheminDeVie5 = Val(TBRésulCheminDeVie5.Text)
        VarTBRésulCheminDeVie6 = Val(TBRésulCheminDeVie6.Text)
        VarTBRésulChemindeVieFinal = Val(TBRésulChemindeVieFinal.Text)
        VarTest1 = Val(TBConcatenationChemVie.Text)

        'Ici le premier calcul
        Refresh()
        TBRésulCheminDeVie1.Text = VarTBjour1 + VarTBjour2 + VarTBMois1 + VarTBMois2 + VarTBAnnée1 + VarTBAnnée2 + VarTBAnnée3 + VarTBAnnée4
        TBRésulCheminDeVie4.Text = VarTBRésulCheminDeVie2 + VarTBRésulCheminDeVie3

         'Ici le second calcul
        TBRésulChemindeVieFinal.Text = VarTBRésulCheminDeVie5 + VarTBRésulCheminDeVie6
       

        'TBRésulChemindeVieFinal.Text = VarTBRésulCheminDeVie5 + VarTBRésulCheminDeVie6


        TBConcatenationChemVie.Text = TBRésulCheminDeVie1.Text & TBRésulCheminDeVie4.Text

    End Sub
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
28 août 2022 à 20:47

Re,

Voulez vous plus d'infos sur le programme;

Je vous ai demande votre projet car serait beaucoup plus simple pour vous aider

A priori votre code semble ok, mais je ne peux pas le tester sans votre projet

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

0
Pop85 Messages postés 16 Date d'inscription jeudi 25 août 2022 Statut Membre Dernière intervention 15 décembre 2022
28 août 2022 à 21:31

Bonsoir, voici le lien concernant ma demande. J'espère que ce sera complet. Sinon je vous enverrai 3  liens supplémentaires.

https://cjoint.com/c/LHCtCk5HAf3

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
29 août 2022 à 07:11

Bonjour,

Sinon je vous enverrai 3  liens supplémentaires.

Et le projet complet, c'est pour quand?

0