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 :

[VB6]pb pour la déclaration d'un tableau


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    gaetan.tranvouez
    Invité(e)
    Par défaut [VB6]pb pour la déclaration d'un tableau
    Hello

    J'ai un soucis, quand je veux rentrer une valeur dans mon text, jai cette erreur: Erreur de compilation, projet ou bibliothèque introuvable
    Il me surligne "Mid"

    Voila mon code:

    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
     
    Private Sub Text3_Change(Index As Integer)
    Dim msg, car As String
    Dim valasc As Byte
    Dim var As Integer
     
    msg = Text3(Index).Text
    For j = 1 To Len(msg)
        car = Mid(msg, j, 1)
        valasc = Asc(car)
        If valasc <> 44 Then
            If (valasc < 48 Or valasc > 57) Then
                    Text3(Index).Text = ""
                    var = MsgBox("Vous devez rentrer une valeur numérique!", vbOKOnly, "Erreur")
            End If
        End If
    Next
    End Sub
    Merci

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Pas de faux espoir, je ne réponds pas à ta question.

    J'ai juste vu ça:
    Sache qu'avec cette syntaxe, seul car est typé String. msg est de type Variant.
    Si tu veux faire plusieurs déclarations sur une ligne, la syntaxe est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim msg As String, car As String
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    gaetan.tranvouez
    Invité(e)
    Par défaut
    Merci quand meme pour le conseil!!
    J'aurai cru que cela était comme en C par exemple int a, b;
    Cela ne modifie certes rien mais c'est quand meme mieux et moins gourmand je crois...

  4. #4
    Membre émérite
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Par défaut
    Pour vérifier qu'une chaine est numérique, utilise la fonction IsNumeric et non une boucle + une comparaison caractères par caractères.

    Pour vérifier la cohérence des valeurs saisie en cours de frappe utilise l'évènement KeyPress :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Function FiltrerSaisie(ByRef KeyAscii As Integer)
        Dim Filtre As String
     
        Filtre = "0123456789"
        If InStr(1, Filtre, Chr(KeyAscii)) = 0 Then KeyAscii = 0
    End Function
     
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As Interger)
        FiltrerSaisie KeyAscii
    End Sub

  5. #5
    gaetan.tranvouez
    Invité(e)
    Par défaut RE Catbull
    ok merci
    mais c'est laquelle de bibliothèque qu'il faut choisir...
    Car il ne la trouve pas

  6. #6
    gaetan.tranvouez
    Invité(e)
    Par défaut
    Car la ca m'a enlevé une erreur mais ca m'a rajoué la meme, mais sauf que c'est un code différent
    Mais je ne comprend pas ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If InStr(1, Filtre, Chr(KeyAscii)) = 0 Then KeyAscii = 0
    Tu pourrais m'éclairer stp

  7. #7
    Membre expérimenté Avatar de AdHoc
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 245
    Par défaut
    A mon avis, il te manque les références "par défaut" du projet ou ces dll sont mal installées.
    Chez moi, l'explorateur d'objet me classe Mid dans MSVBVM60.DLL.
    Pour info, ton code fonctionne avec les modifs de AlainTech (sans je n'ai pas essayé).
    Personnellement, je ne met jamais du code dans les événements change des champs de saisie.
    L'utilisateur saisie, puis valide, si les infos sont incorrectes,
    raz et on repart au debut .
    Dans ton cas tu as juste à tester si la chaine est un nombre.

Discussions similaires

  1. signal d'erreur pour la dclaration d'un tableau
    Par sandball22 dans le forum C
    Réponses: 2
    Dernier message: 20/04/2007, 11h03
  2. [VB6] Déclaration d'un tableau avec variable en paramètre.
    Par méphistopheles dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 23/10/2005, 12h21
  3. [VB6] BorderStyle pour feuille MDI fille
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/08/2004, 13h43
  4. [VB6] Api pour supprimer dans un fichier INI
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/02/2003, 08h16
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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