IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Pourquoi dois-je clicker 2 fois sur le bouton pour que tous les calculs s'effectuent ?


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut Pourquoi dois-je clicker 2 fois sur le bouton pour que tous les calculs s'effectuent ?
    Bonjour à tous,

    Je sais pertinemment que j'ai de faibles connaissances en visual basic mais je n'arrive pas à comprendre pourquoi je suis obliger de clicker 2 fois sur le bouton pour que tous le code s'exécute. Ce doit être encore gros comme une maison mais impossible de trouver

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub Command3_Click()
     
    'calcul de l'épaisseur ou du poids d'enrobé selon la case vide
    If Me.Text50.Text = "" Then
    MsgBox "Veuillez déterminer une densité !"
    ElseIf Me.Text48.Text = "" Then
    Me.Text48.Text = Round(CDbl(Me.Text49.Text) * CDbl(Me.Text50.Text) * 10)
    ElseIf Me.Text49.Text = "" Then
    Me.Text49.Text = Format(((CDbl(Me.Text48.Text) / CDbl(Me.Text50.Text)) / 10), ".0")
    'calcul de la vitesse selon la centrale
    ElseIf Me.Text46.Text = "" And CDbl(Me.Text47.Text) <= CDbl(Me.Text51.Text) Then
    Me.Text46.Text = Format((CDbl(Me.Text47.Text) / CDbl(Me.List13.Text) / (CDbl(Me.Text48.Text) / 1000) / CDbl(Me.Text45.Text)), "00.00")
    Me.Text52.Text = CDbl(Me.Text47.Text)
    'calcul de la vitesse selon les camions
    ElseIf Me.Text46.Text = "" And CDbl(Me.Text47.Text) > CDbl(Me.Text51.Text) Then
    Me.Text46.Text = Format((CDbl(Me.Text51.Text) / CDbl(Me.List13.Text) / (CDbl(Me.Text48.Text) / 1000) / CDbl(Me.Text45.Text)), "00.00")
    Me.Text52.Text = CDbl(Me.Text51.Text)
    'Calcul du RH finisseur
    ElseIf Me.Text46.Text <> "" Then
    Me.Text52.Text = Round((CDbl(Me.Text46.Text) * CDbl(Me.List13.Text) * (CDbl(Me.Text48.Text) / 1000) * CDbl(Me.Text45.Text)))
    End If
     
     
    End Sub
    au premier click le code s'exécute jusqu'à
    'calcul de la vitesse selon la centrale
    puis au deuxième le reste ????
    Merci pour votre aide

    cordialement

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 078
    Points : 17 062
    Points
    17 062
    Par défaut
    Salut
    Dés qu'une condition ElseIf est vraie, le programme se poursuit à la suite du End If.
    Exemple, si ligne 6 ElseIf Me.Text48.Text = "" Then est vraie, exécution de la ligne 7 Me.Text48.Text = Round(CDbl(Me.Text49.Text) * CDbl(Me.Text50.Text) * 10), puis passage à la ligne 22 suivant End If.
    Sans avoir analysé plus, une suite de If ..... Then plutôt que ElseIf .... Then devrait mieux fonctionné.

    Mis a part, pourquoi ne pas avoir créé un groupe de contrôles TextBox ? (A moins que tu ne programmes pas en VB6 ou antérieur)
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut
    Merci pour le tuyau, ça fonctionne parfaitement avec des if et end if, quand au groupe de contrôle je ne sais pas ce que c'est et encore moins comment l'utiliser. Ma seule expérience en VB6 est 2 mois d'apprentissage du VBA seul dans mon coin mais avec l'aide précieuse du forum. J'essais de transcrire ce que j'ai appris en VBA vers VB6, pour l'instant cela fonctionne pas trop mal, mais je suis conscient que j'ai encore énormément de chose à découvrir...

    merci

  4. #4
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 078
    Points : 17 062
    Points
    17 062
    Par défaut
    Ok

    Donc tu as commencé en VBA et tu poursuis en VB6.
    En VB6 tu peux déposer un composant puis faire un copié de celui-ci puis faire une succession de coller, chaque copies auront le même nom avec un index de x.
    Un exemple de l'utilité d'un groupe de composants, changer une propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim T As Integer
    For T = 0 To TextBox1.Count - 1: TextBox1(T).Enabled = False: Next T
    TextBox1(2).Enabled = True
    au lieux de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TextBox1.Enabled = False
    TextBox3.Enabled = False
    '.......................
    '.......................
    '.......................
    '.......................
    TextBox39.Enabled = False
    TextBox40.Enabled = False
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut
    J'avais remarqué que quand je copier coller on me demander si je voulais créer un "contrôl aera" ou un truc comme ça, je l'ai fais une ou 2 fois par erreur et aprés impossible de calculer avec ces contrôles.
    Le petit programme que je suis en train de créer est composé d'un multipage avec 10 onglets et j'ai environ 3 ou 4 listbox et 25 textbox par page, peu être que cela serait intéressant d'utiliser cette fonction de VB6 quand j'aurais compris comment ça fonctionne ; je vais me pencher un peu dessus...

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/11/2012, 15h45
  2. je dois cliquer 2 fois sur le bouton de mon formulaire !
    Par intik dans le forum Zend Framework
    Réponses: 4
    Dernier message: 11/10/2011, 19h34
  3. Je dois cliquer 2 fois sur le bouton pour valider mon formulaire !
    Par intik dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/10/2011, 11h34
  4. Réponses: 6
    Dernier message: 14/04/2009, 09h14
  5. Réponses: 7
    Dernier message: 28/02/2007, 14h59

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