Probleme avec mon code dans fichier txt [Résolu]

Messages postés
23
Date d'inscription
dimanche 17 avril 2005
Dernière intervention
4 décembre 2006
- - Dernière réponse : Momone21
Messages postés
23
Date d'inscription
dimanche 17 avril 2005
Dernière intervention
4 décembre 2006
- 27 nov. 2006 à 12:41
<!--StartFragment -->Bonjour
J'ai un problème que je n'arrive pas à résoudre,
Mon problème est  se code:
<hr />
Option Explicit
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim EndOfFile As Integer
Dim EndOfFile2 As Integer
Dim CheminImage As String
Dim ImageA As String
<hr />
Private Sub ComdAjoute_Click() ' Code pour rajouter dans le fichier txt la procédure
On Error GoTo erreur
'Ouverture/Créatio du fichier contact
    Open "C:\Procedure.txt" For Random As #1 Len = Len(Procedure)
    'on compte le nombre d'enreg dans le fichier
    EndOfFile = LOF(1) / Len(Procedure)

    'Ces if sont pour tester si les cases indisponsables sont bien remplises

If Text1 = "" Then
    MsgBox "Veuillez entrer le nom de recherche", 16, "Attention"
    Text1.SetFocus
    Else
    If Text2 = "" Then
        MsgBox "Veuillez entrer le nom de la Procédure", 16, "Attention"
        Text2.SetFocus
        Else
        
                                    Procedure.strAB = Text2
                                    Procedure.sSéparateur1 = ";.text"
                                    Procedure.strPro = Text1
                                    Procedure.sSéparateur2 = vbCrLf

                                    'On ajoute les infos dans le fichier #1
                                    Put #1, EndOfFile + 1, Procedure

                                    'Call ChampVid
                                    MsgBox "Procédure ajouté avec succés!!" ', vbExclamation, "Ajout"
                                    'on desactive les champs d'encodage again ;)

   
    End If
End If
Close #1
erreur:
End Sub
<hr />
Private Sub Command1_Click()
Dim NomRech3 As String
NomRech3 = Text1.Text
'Ouverture/Créatio du fichier contact
    Open "C:\Procedure.txt" For Random As #1 Len = Len(Procedure)
    'on compte le nombre d'enreg dans le fichier
    EndOfFile = LOF(1) / Len(Procedure)
    For i = 1 To EndOfFile
        Get #1, i, Procedure
        If Trim(NomRech3) = Trim(Procedure.strAB) Then
            j = i
            Text1.Text = Trim(Procedure.strAB)
            Text2.Text = Trim(Procedure.strPro)
            Exit For
        End If
    Next i
Close #1
End Sub
<hr />
Quand je clique sur le bouton "Command1", rien ne se passe j'aimerai récupé les 20 premier caractaire de la chaine et les incorporer dans le "Text2"
Pouvez vous m'aider avant que je devient fou, j'y comprend plus rien !!!!!
Merci d'avance
Momone21
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
3
Merci
Salut
Décidémment, beaucoup de problème !
Est-ce que tu es sûr de passer sur la ligne "j = i" (et donc les suivantes) ?
Pour le savoir, il suffit de débugger ton appli :
- met le curseur sur cette ligne et appuie sur F9 : la ligne change de couleur
- Lance ton application et appuie sur ton Command1 : Le programme s'arrêtera sur cette ligne ... si il passe dessus.
Quand le programme s'arrête, il te suffit de passer sur les variables avec la souris pour que VB affiche sa valeur, sinon, tu peux utiliser la fenêtre de Debug (Ctrl-G) pour afficher ne contenu d'une variable :
? Procedure.strAB
Pour continuer en n'avançant que d'une ligne, appuie sur F8, sinon, F5 pour que le programme continue normalement.

S'il ne passe pas dessus, c'est que ton test n'est pas bon.
Vérifie le contenu de NomRech3 et chaque valeur de Procedure.strAB.
Vérifie qu'ils ont bien les mêmes caractères minuscule et majuscule.
Si c'est une histoire de majuscule, compare les deux chaines dans le même état (maj/min) avec LCase ou UCase :
If LCase(Trim(NomRech3)) = LCase(Trim(Procedure.strAB)) Then

NB : Cette ligne est très bizarre :
Procedure.sSéparateur1 = ";.text"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
23
Date d'inscription
dimanche 17 avril 2005
Dernière intervention
4 décembre 2006
0
Merci
merci jack


peut tu encore m'aidé sur ce code:


<hr />
Private Sub Command1_Click()
Dim NomRech3 As String
NomRech3 = Text1.Text
'Ouverture/Créatio du fichier contact
    Open "C:\Procedure.txt" For Random As #1 Len = Len(Procedure)
    'on compte le nombre d'enreg dans le fichier
    EndOfFile = LOF(1) / Len(Procedure)
    For i = 1 To EndOfFile
        Get #1, i, Procedure
        If UCase(Trim(NomRech3)) = UCase(Trim(Procedure.strAB)) Then

            Text1.Text = Trim(Procedure.strAB)
            Text2.Text = Trim(Procedure.strPro)
        End If
        If UCase(Trim(NomRech3)) = Null Then

' je voulais que si le résultat était null alors effacer le Text1 et et que le text2 affiche ""Procedure NON TROUVER, Veuillez reformuler votre recherche"

   Text2.Text = "Procedure NON TROUVER, Veuillez reformuler votre recherche"
   Text1.Text = ""
      Exit For
     
    End If
    Next i
Close #1




End Sub


<hr />
Quand je clique sur command1, il va bien rechercher dans le fichier Txt, mais je voudrais que si le resultat de la recherche est null qu'il m'éfface la Text1 et qu'il inscrit dans le Text2 "Procedure NON TROUVER, Veuillez reformuler votre recherche"
merci d'avance
PS: Peut tu aussi m'aider a m'orianté vers un livre de programmation VB6 car la programmation je rame de trop avant je programmais en VBA maintenant je suis perdu avec mes code.

Cordialement sylvain

Momone21
Commenter la réponse de Momone21

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.