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 :

[débutant] projet Visual Basic 6


Sujet :

VB 6 et antérieur

  1. #81
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    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 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Je cherche a insérer une messagebox dans mon application et elle apparaitrai aprés le clik sur la croi de fermeture. L'application se fermerait ensuite en appuyant sur le ok de la messagebox.
    Ai je bien compris la question ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = vbFormControlMenu Then
     Me.Visible = False
     Dim Reponse As Integer
     Reponse = MsgBox("voulez vous vraiment quitter ?", vbYesNo)
     If Reponse = vbNo Then Cancel = True: Me.Visible = True
    End If
    End Sub
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  2. #82
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    parfait !!!! c'est ce que je voulais

    Merci bien et bonne fin de soirée...

  3. #83
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Il va vraiement falloir que je donne ma boule de crystal à réparer moi
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  4. #84
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Bonsoir, désolé de vous embété encore. Je me retrouve avec une fonction qui cherche à trouver le second plus grand élément de la liste. ces éléments sont des numériques, négatifs compris. Auparavant mes variables étant initialisé à zéro elle ne prenait donc pas en compte mes valeurs négatives. J'ai donc voulu changé l'initialisation en affectant à mes variable la premiere valeur de la liste. Cependant cette solution ne fonctionne pas. J'ai testé en inialisant à -1000 et là ca marche. cependant cette solution n'est pas satisfaisante et je me permet donc donc de vous demander encore votre avis.

    Voila la fonction :
    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
    Public Function deuxieme(Liste As ListBox) As Integer 
     
    Dim max1 As Integer
    Dim max2 As Integer
    Dim j As Integer
    Dim i As Integer
     
    max1 = Liste.List(0)  'Le plus grand de la liste
    max2 = Liste.List(0) 'Le second plus grand de la liste.
     
    'On fait une boucle " pour " avec une variable i qui fait défiler toutes les valeurs de la liste.
        For i = 0 To Liste.ListCount - 1
        j = Liste.List(i)
            If j >= max1 Then 'On compare entre elles grâce à j toutes ces valeurs et on garde en variable les deux plus grandes.
            max2 = max1
            max1 = j
            ElseIf j >= max2 Then
            max2 = j
            End If
        Next i
     
    deuxieme = max2 'La fonction reçoit la valeur de la variable max2.

  5. #85
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonsoir jere3110,


    je ne parviens pas à mettre en echec avec la fonction, telle qu'écrite, nombre tous négatifs ou mélange entre négatifs et positifs ou nombre tous positifs ...

    Seule précaution à prendre, s'agissant de valeurs numériques :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    max1 = Val(Liste.List(0))  'Le plus grand de la liste
    max2 = Val(Liste.List(0)) 'Le second plus grand de la liste.
     
    'On fait une boucle " pour " avec une variable i qui fait défiler toutes les valeurs de la liste.
        For i = 0 To Liste.ListCount - 1
        j = Val(Liste.List(i))
    Et tous mes essais conduient à un résultat exact.

    Peux tu donc nous montrer un exemple où le résultat obtenu n'est pas celui attendu ?

  6. #86
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Voila j'ait fait une capture, et en même temp ma fonction exacte.


  7. #87
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Vu et correction de la seule fonction :

    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
    Public Function deuxieme(Liste As ListBox) As Integer
      Dim max1 As Integer
      Dim max2 As Integer
      Dim j As Integer
      Dim i As Integer
      max1 = Val(Liste.List(0))  'Le plus grand de la liste
      max2 = Val(Liste.List(1)) 'Le second plus grand de la liste.
     'On fait une boucle " pour " avec une variable i qui fait défiler toutes les valeurs de la liste.
        For i = 0 To Liste.ListCount - 1
            j = Val(Liste.List(i))
            If j > max1 Then 'On compare entre elles grâce à j toutes ces valeurs et on garde en variable les deux plus grandes.
              max2 = max1
              max1 = j
            ElseIf j > max2 And j < max1 Then
              max2 = j
            End If
        Next i
       deuxieme = max2 'La fonction reçoit la valeur de la variable max2.
    End Function

  8. #88
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Je fait les corrections que tu me donnes, ca marche toujours pas; je copie colle la fonction direct du site et là ca marche... En tous cas merci, j'ai pas vraiment compris mon erreur mais ça marche et ca suffira pour ce soir.

    Merci de ton secour et bonne fin de soiré à toi, a bientot

  9. #89
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour jere3110,

    Bien que la solution que je t'ai donnée hier fonctionne, je ne l'aime pas vraiment.

    En voilà une à mon sens meilleure et que tu comprendras beaucoup mieux ...

    Initialise ainsi max1 et max2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    max1 = Val(Liste.List(0)) \ 100 
    max2 = max1 \ 100
    en laissant le signe \ comme il est (= entier de la division)

    Explication : tu es ainsi assuré d'amorcer à tous coups la pompe puisque, forcément, tu auras ainsi toujours un chiffre plus élevé que le max1 de départ et un plus élevé que le max2 de départ. Et ce sera également toujours vrai si tu as des nombres négatifs dans ta liste

+ Répondre à la discussion
Cette discussion est résolue.
Page 5 sur 5 PremièrePremière 12345

Discussions similaires

  1. Compilation d'un Projet Visual Basic en ligne de commande
    Par Nico+10) dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 16/03/2007, 09h37
  2. Setup projet visual basic
    Par krugarka dans le forum Installation, Déploiement et Sécurité
    Réponses: 1
    Dernier message: 24/02/2007, 06h12
  3. [VBA-E]Débutant sous Visual Basic
    Par Mpierre dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/06/2006, 14h32
  4. Réponses: 4
    Dernier message: 31/05/2006, 14h44
  5. projet visual basic et publication web
    Par cari dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 26/12/2005, 07h50

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