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 :

Faire un compteur de click d'un CommandButton


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de sabrimi
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 170
    Par défaut Faire un compteur de click d'un CommandButton
    Bonsoir à tous,

    J'apprends à utiliser VB5 car j'ai qq notions en basic, mais j'ai besoin de votre aide.

    Voilà, pour mes essais, j'ai fait une page avec 5CommandButton et 5 label.

    Quand, je clique sur un contrôle, je fais afficher l'incrémentation dans le label correspondant.
    Mais ce que je voudrais faire, c'est par exemple, après avoir cliqué 4 fois sur le bouton, l'incrémentation s'affiche dans un autre label en plus de son affichage déjà existant.

    Je sais pas si je me fais bien comprendre et vous remercie de votre aide.

    Cordialement.
    Sabrimi

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    bonjour,

    montre nous ton code permettant ton incrémentation..dans ton premier label..

  3. #3
    Membre confirmé Avatar de sabrimi
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 170
    Par défaut
    J'ai essayé divers solutions mais aucune ne va !

    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
    25
    26
    27
    Private Sub Form_Load()
    Dim click, NB As Integer
    Dim C1, C2, C3, C4, C5 As Integer
    Dim vote1 As Integer
    End Sub
     
    Private Sub Command1_Click()
    click = 1
    NB = NB + click
    If NB = 3 Then
    CS = C2 + 1
    Exit Sub
    Else
    C1 = C1 + 1
     
    End If
     
    End Sub
     
    'Private Sub Command5_Click()
    'For vote1 = 3 To 1
    'If C5 = 3 Then
    'Stop
    'End If
    'C5 = 1
    'Next vote1
    'End Sub
    Je suis un peu perdu avec tout ces "IF" et "FOR".
    En fait, je sais plus quoi est le meilleur.

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Déjà tu as un problème de porté pour tes variables, si tu veux les utiliser dans tout ton Form il faut les declarer au tout debut du code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Option explicit
    Dim Leclick As Integer, NB As Integer
    Dim C1 As Integer, C2 As Integer, C3 As Integer, C4 As Integer, C5 As Integer
    Dim vote1 As Integer
    Comme tu le vois, il faut typer chaque variables sinon seul la variable typée prendra le typage, les autres seront typées Variant par VB6, ce qui prend beaucoup plus de place en mémoire.
    Il faut éviter, voire bannir le nommage des variables équivalent aux mots réservés du langage (click dans ton cas).
    La portée des variable s'étend dans la sub ou fonction ou elles sont déclarées, exception si elle sont déclarées Public dans un module.bas.
    après avoir cliqué 4 fois sur le bouton, l'incrémentation s'affiche dans un autre label en plus de son affichage déjà existant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Command1_Click()
    ' Click = 1 ' Me semble inutile à moins que tu utilises cette variable ailleurs
    nb = nb + 1
    If nb = 3 Then
        'affiche dans le label du Command1 et dans l'autre label
        Label1.Caption = nb: Label2.Caption = nb
        'CS = C2 + 1 ' ?????
        'Exit Sub
        Else
        'C1 = C1 + 1
        Label1.Caption = nb
    End If
    End Sub
    Je ne sais pas si cela t'aidera
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre confirmé Avatar de sabrimi
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 170
    Par défaut
    D'après certains sur un forum spécialisé mais je m'en rappelle plus, ils disais que si plusieurs variables avaient le même type, il est plus simple de les mettre à la suite !!!!

    Comme tu me dis que chaque variable doit être typer indépendamment, ton explication est on ne peut plus clair.
    Mais tu parles de VB6, moi je commence avec VB5 !
    C'est presque pareil pour les mots réservés ?

    C'est très bien noté pour les noms à bannir (réservés), j'avais pas pensé que ça aurait un impact quelconque sur le programme.

    Et c'est vrai qu'en voyant ton code, c'est très facile, encore fallait-il le voir plus avant.

    Bon, j'ai essayé ton code, mais je ne peux pas tester parce que j'ai une erreur de compilation au niveau de C1 as Integer.
    Il est dit que "L'identificateur du membre existe déjà dans une classe dont la présente classe est dérivée."
    Alors, ce que ça veut dire, je sais pas trop parce C1 n'est déclaré qu'une seule fois ?????

  6. #6
    Membre confirmé Avatar de sabrimi
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 170
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Je ne sais pas si cela t'aidera
    Effectivement, c'est presque parfait.

    Le problème est qu'après le nombre de click, le nombre de fois la commande cliquée est bien dans les Label 1 et 2.
    Mais, lorsque je clique sur un autre bouton de commande, au lieu de marquer le nombre de click de cette commande, c'est affiché la totalité, donc, c'est pris en compte les click de la 1ère command et même de autres.

    Il y a certainement qq chose qui cloche dans mon programme mais je ne vois plus du tout !

    C'est le NB qui pose problème je pense.
    J'ai essayé de le remettre à 0 en début de procédure ou à la fin (juste après End If, mais c'est pas ça.

  7. #7
    Membre émérite
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Par défaut
    Bonjour,

    Tu peux faire un clic de souris sur ta feuille pour initialiser ton nb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Form_Click()
      nb = 0
    End Sub

  8. #8
    Membre confirmé Avatar de sabrimi
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 170
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut

    Déjà tu as un problème de porté pour tes variables
    Bonjour ProgElec,

    C'est vrai que ton code allait bien (ou presque) tant qu'il n'y avait que 2 votes possibles, mais si j'en rajoutais d'autres, là, y avait un problème.

    J'avais pensé à "Select Case" parce que j'ai vu ça dans l'aide et j'ai posé la question, c'était le meilleur moyen pour faire ce que j'avais envisagé.

    En tout cas, ton aide m'a été précieuse.

    Merci beaucoup.

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

Discussions similaires

  1. [XSLT] faire un compteur
    Par ujoodha dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 15/02/2006, 20h56
  2. Faire la différence en click et shift-click
    Par htristra dans le forum C++Builder
    Réponses: 2
    Dernier message: 28/01/2006, 22h03
  3. Réponses: 15
    Dernier message: 15/01/2006, 20h02
  4. [Débutant] Comment faire un compteur pour un bouton?
    Par Paulinho dans le forum AWT/Swing
    Réponses: 21
    Dernier message: 07/01/2006, 20h51
  5. [CR8.5] Comment faire un compteur ?
    Par sperron dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 09/06/2005, 09h07

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