Momone21
Messages postés23Date d'inscriptiondimanche 17 avril 2005StatutMembreDernière intervention 4 décembre 2006
-
26 nov. 2006 à 21:02
Momone21
Messages postés23Date d'inscriptiondimanche 17 avril 2005StatutMembreDerniè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
'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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 27 nov. 2006 à 00:40
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
Momone21
Messages postés23Date d'inscriptiondimanche 17 avril 2005StatutMembreDernière intervention 4 décembre 2006 27 nov. 2006 à 12:41
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.