felina1
Messages postés15Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention24 septembre 2006
-
17 juil. 2006 à 15:42
felina1
Messages postés15Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention24 septembre 2006
-
1 août 2006 à 12:48
Bonjour,
Je suis novice et en pleine formation. Je voudrais via une application
contenant plusieurs boutons, au travers d'un de ces boutons ouvrir un
fichier texte dont je spécifie le chemin dans une zone texte dans une
List.
Voilà ce que j'ai fait mais cela m'ouvre uniquement ce que contient le
dossier et non le contenu du fichier dont je dois par la suite compter
le nombre de lettres que contient ce fichier:
dim st as string
st=dir("c:", vbdirectory)
while st <> ""
st=dir
wend
end sub
Pouvez vous m'aider s'il vous plait, j'ai cherché sur le forum et sur le net mais en vain. Je suis un peu larguée.
felina1
Messages postés15Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention24 septembre 2006 17 juil. 2006 à 15:51
J'ai mal lu l'intitulé, je ne dois pas ouvrir mais compter le nombre d'occurences de chaque lettre contenu dans le fichier.
Je dois impérativement utiliser les fonctions dir et asc.
TomIlliev
Messages postés86Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention13 octobre 20162 17 juil. 2006 à 16:03
Salut,
J'ai pas bien compris la question!
Tu dois ouvrir les fichiers texte d'un dossier et compter le nombre de lettres que contiennent ces fichiers ou ne compter que certaine lettres ou mots?
felina1
Messages postés15Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention24 septembre 2006 17 juil. 2006 à 16:31
Je dois spécifier le chemin d'accès dans une zone texte et en cliquant sur un bouton, il doit apparaitre dans la list le nombre d'occurences de chaque lettre contenu dans le fichier texte spécifié.
Vous n’avez pas trouvé la réponse que vous recherchez ?
TomIlliev
Messages postés86Date d'inscriptionvendredi 27 décembre 2002StatutMembreDernière intervention13 octobre 20162 17 juil. 2006 à 16:44
Re
Voici une fuction qui permet de chercher un mot ou une lettre dans un fichier
Si tu veux le nombre de A dans un fichier tu fais
msgbox findtexte(NomFichier,"A")
La function te renvoie le nombre de A contenu dans le fichier
Maintenant pour chercher tout l'alphabet en majuscule
dim i as integer
For i=asc("A") to asc("Z")
Taliste.additem "nombre de " & chr$(i) & " " & findtexte(NomFichier,chr$(i))
next i
pour les minuscules tu remplaces A par a et Z par z
pour les espaces tu fais findtexte(Monfichier,chr$(32))
Function FindTexte(ByVal Fichier As String, ByVal Text As String) As Integer
Dim m As String
Dim Cpt As Integer
Dim n As Integer
Dim x As Integer
'controler si le fichier existe
If Dir(Fichier) = "" Then
MsgBox "fichier non trouvé"
Exit Function
End If
n = FreeFile 'numéro de canal libre
Open Fichier For Input As n 'Ouverture du fichier en lecture
Do While Not EOF(n) 'Boucle jusqu'à la fin du fichier
Line Input #n, m 'extrait une ligne du fichier
'IL FAUT CHERCHER SI LE TEXTE EXISTE PLUSIEURS FOIS DANS LA LIGNE
'LA BOUCLE SUIVANTE PERMET DE REALISER LA RECHERCHE
x = InStr(m, Text)
'---
Do While Not x = 0 'Boucle sur la ligne si le texte est trouvé
Cpt = Cpt + 1 'incrémente le compteur d'occurence
m = Mid$(m, x + Len(Text) + 1)'raccourcir la phrase aprés le mot
x = InStr(m, Text) 'Chercher à nouveau dans le reste de la ligne
Loop
'----
Loop
Close n 'Ferme le fichier
FindTexte = Cpt 'renvoie le nombre de fois que le texte a été trouvé
End Function
felina1
Messages postés15Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention24 septembre 2006 1 août 2006 à 12:48
Voilà ce que j'ai fais mais cela m'affiche uniquement le nombre de lignes contenu dans le fichier et non le nombre de lettre (ex: a=4, b=1,...). Où est le problème?
Function Compter(ByVal Fichier As String, ByVal Text As String) As Integer
Dim n As Integer
Dim Cpt As Integer
Dim i As Integer
n = FreeFile
Open Fichier For Input As n
Cpt = 0
Do Until EOF(n)
Input #n, i
Cpt = Cpt + 1
Loop
Close n
Compter = Cpt
End Function
Private Sub Traiter1_Click()
Dim Source As Integer
Dim i As Integer
Dim Ch As String
Source = FreeFile
Ch = Text1.Text
Open Ch For Input As #Source
For i = Asc("a") To Asc("z")
List1.AddItem "nombre de " & Chr$(i) & "" & Compter(Text1.Text, Chr$(i))
Next i
Close #Source
End Sub