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 :

Ecrire fonction VB6


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Points : 19
    Points
    19
    Par défaut Ecrire fonction VB6
    Bonjour à tous,

    Je débute en VB et je dois faire une petite application qui permet de reformater un fichier. Voici un explicatif de mon applis :

    1) Je lis un fichier en sequentiel
    2) Je récupére les 3 premier caractéres
    3) Je fais un select case dessus et en fonction de la valeur j'écri dans un fichier.txt, un titre de rubrique associé à ces 3 caractères + ces 3 caractères. (j'espère que je suis claire).

    Comme les 3 premiers caractères peuvent prendre 14 valeurs différentes, je voulais faire une fonction afin d'éviter d'écrire 14 fois la meme chose. Mais étant débutant, je galère un peu !! Voici 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    ' Traitement du fichier à traiter
    Private Sub Bt_Traiter_Click()
     
        ' Déclaration des variables
        Dim LgTmp As String
        Dim LgTmp_2 As String
        Dim Fichier As String
        Dim Titre_Entite As String
     
        Fichier = Txt_Fichier.Text
        MsgBox (Fichier)
     
        Open Fichier For Input As #1
             Do Until EOF(1)
               Line Input #1, LgTmp$
     
               ' On récupére les 3 premiers caractères
               LgTmp_2 = Mid(LgTmp$, 2, 3)
               MsgBox (LgTmp_2)
     
               Select Case LgTmp_2
                    Case "000"
                        Titre_Entite = "Entite NOP-ENT Entête"
                        Fonction_Traiter(LgTmp_2,Titre_Entite)
                        ' Il m'indique une erreur ici ! Il attends un "=" ..????
     
                    Case "128"
                        Titre_Entite = "Toto"
                        Fonction_Traiter(LgTmp_2, Titre_Entite)
                      ' idem là !
     
               End Select
               Close #2
               Loop
        Close #1
        ' On ouvre la fenêtre d'affichage avec le bon formatage
         ' Frm_Affichage.Show
        '  Print "Entite " & LgTmp_2
    End Sub
     
    Private Sub Fonction_Traiter(Val_Entite As String, Titre_Entite As String)
            Case Val_Entite
                MsgBox ("Titre_Entite :" & Val_Entite)
                Open "D:\projet_VB\debug_noescan\test2.txt" For Append As #2
                Write #2, "Titre_Entite :" & Val_Entite
    End Sub
    Bref, suis-je bien parti ?? ou est mon erreur dans mon appel de fonction ??
    Merci de votre aide.
    @+ tard

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Février 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Février 2003
    Messages : 95
    Points : 85
    Points
    85
    Par défaut
    Bonjour.

    Les procédures (Sub) sans valeur de retour s'appellent sans parenthèses
    Les fonctions (Function) s'appellent avec des parenthèses si il y a utilisation de la valeur de retour.
    Dans ton cas, ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fonction_Traiter LgTmp_2, Titre_Entite
    Cordialement,

    Mathieu Driesbach.
    Un verre vide se plaint, un verre plein se vide ...

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par mdriesbach
    Bonjour.

    Les procédures (Sub) sans valeur de retour s'appellent sans parenthèses
    Les fonctions (Function) s'appellent avec des parenthèses si il y a utilisation de la valeur de retour.
    Dans ton cas, ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fonction_Traiter LgTmp_2, Titre_Entite
    Cordialement,

    Mathieu Driesbach.
    Merci pour l'explication !
    Effectivement, cela fonctionne bien mieux.

Discussions similaires

  1. ecrire fonction arrondi sup sous VBA
    Par boom47 dans le forum Excel
    Réponses: 1
    Dernier message: 25/01/2012, 16h35
  2. Ecrire fonction trigger
    Par NGeVtC87 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/02/2010, 07h59
  3. Fonction VB6 "\"
    Par rocel dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 22/05/2007, 22h19
  4. [VB6]Ecrire une fonction dans ma feuille Excel
    Par ToxiK dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 08/06/2006, 20h04
  5. [VB6]fonction inverse de Hex (nombres hexadécimaux)
    Par Guigui_ dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/10/2002, 19h31

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