Discussion: Optimisation de code

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : octobre 2014
    Messages : 6
    Points : 2
    Points
    2

    Par défaut Optimisation de code

    bonjour, j'ai une question un peu farfelue, après quelques mois d'abandon je me suis remis a vb.net et j'aimerais bien un truc propre plutôt que d'avoir un pavé genre :
    p2 = Val(tbprix2.Text)
    p3 = Val(tbprix3.Text)
    p4 = Val(tbprix4.Text)
    p5 = Val(tbprix5.Text)
    p6 = Val(tbprix6.Text)
    p7 = Val(tbprix7.Text)
    p8 = Val(tbprix8.Text)
    p9 = Val(tbprix9.Text)
    p10 = Val(tbprix10.Text)
    p11 = Val(tbprix11.Text)
    p12 = Val(tbprix12.Text)
    p13 = Val(tbprix13.Text)
    p14 = Val(tbprix14.Text)
    p15 = Val(tbprix15.Text)
    p16 = Val(tbprix16.Text)
    p17 = Val(tbprix17.Text)
    p18 = Val(tbprix18.Text)

    est-il possible de le réduire avec une boucle ? bon j'ai essayer de mon côté mais, pas sûr que ça fonctionne !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            Dim p1 As String
            Dim i = 1
            While i < 18
     
                p1 = ("p" + i + "=val(tbprix" + i + ".text")
                i += 1
     
            End While
    donc le but c'est réduire le code

    en vous remerciant !

  2. #2
    Expert éminent

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 3 824
    Points : 7 793
    Points
    7 793
    Billets dans le blog
    17

    Par défaut

    Bonjour,

    Vite fait comme cela, il y a moyen de boucler sur les contrôles et de s'assurer que ce sont les bons.

    Ceci dit, si le val() de VB.net est le même que celui de VB6-VBA, oublie le. Il n'est (probablement) pas foutu de reconnaître la virgule comme séparateur décimal. Tu peux essayer avec CSng() ou CDbl(), mais tous les types numériques de .net ont des méthodes parse et tryparse pour convertir un texte en nombre.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    À force de vouloir considérer les utilisateurs comme des imbéciles patentés, on risque de se mettre dans le trouble.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : octobre 2014
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    pour Cdbl pas de prob, quant au bouclage sur les controles j'ai rien compris du tout ... :/

  4. #4
    Membre expert
    Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    2 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 2 085
    Points : 3 547
    Points
    3 547
    Billets dans le blog
    1

    Par défaut

    Bonjour,

    Pour compléter la remarque de Clément, val est une instruction vba!

    La référence vb6 est activé par défaut dans le projet visual studio! Bon nombre de nos contemporain code en vba pensant faire du vb.net. Si d'aventure le chef de projet décoche la librairie Vb6 (et c'est ce que je fais systématiquement) le programme explose!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i as integer=1 to 10
    MyVar= me.controls("textbox" & i.tostring).texte
    Next
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    number = double.Parse("2,5", CultureInfo.GetCultureInfo("fr-FR").NumberFormat)
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : octobre 2014
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    Merci bien je vais tester cela, (je ne me considère pas comme expert VB.net (d'ailleurs j'ai appris en autodidacte)), je vais de ce pas décocher la lib vb6

  6. #6
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : octobre 2014
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i as integer=1 to 10
    MyVar= me.controls("textbox" & i.tostring).texte
    Next
    ok pour le myvar j'ai pigé mais du coup je dois distribuer dans plusieurs variables comme j'ai cité plus haut p1, p2,p3,....p18 ou alors j'ajoute dans le me.control ?
    style: me.control("p" & i.tostring "=tbtemp" & i.tostring).text ?

    en fait j'étais pas loin de la réponse avec mon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            Dim p1 As String
            Dim i = 1
            While i < 19
     
                p1 = "Val(tbprix" & i & ".Text)"
            i += 1
     
            End While

  7. #7
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : octobre 2014
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    voilà ce que j'ai

    Nom : code.jpg
Affichages : 48
Taille : 132,3 Ko

  8. #8
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    février 2010
    Messages
    3 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 3 034
    Points : 4 981
    Points
    4 981
    Billets dans le blog
    1

    Par défaut

    Et si tu remplaçait test px par un tableau ?


    Ainsi :

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dim p as integer()
     
    for i as integer = 2 to 18
         p(i) = cint(me.controls("textbox" & i.tostring).text)
    next
    On ne jouit bien que de ce qu’on partage.

  9. #9
    Membre expert
    Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2016
    Messages
    2 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2016
    Messages : 2 085
    Points : 3 547
    Points
    3 547
    Billets dans le blog
    1

    Par défaut

    (je ne me considère pas comme expert VB.net (d'ailleurs j'ai appris en autodidacte)
    j'ai 20 ans de VB3...VB6 et seulement 3 ans en VB.Net, difficile de revendique un salaire de séniorité avec une expérience de junior! il m'arrive de faire des écarts de "langage"!
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  10. #10
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : octobre 2014
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    je me suis finalement débrouillé autrement merci à tous et toutes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL-Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo