Bonjour,
j'ai un exercice dans lequel je dois créer un programme qui analyse un fichier texte pour compter le nombre de "a", de "b", de "c" ..., de "z".
Le résultat doit s'afficher dans une zone de liste, chaque ligne de la zone doit contenir une lettre et son nombre d'apparition dans le fichier.
Donc tout ce qui est création graphique du programme jusqu'à l'appel du fichier texte ça ne pose pas de problème, mais là je bloque pour compter le nombre de lettre et pour l'affichage dans la zone de texte.
Si vous pouviez m'aider , me donner des conseils svp ça serai sympa car là c'est la panne sèche.
Private Sub Command1_Click()
'déclarer un tableau pour stocker les caractères
'a savoir code ASCII de "A" soit 65 et "Z" soit 90
Dim tableCar(65 To 90) As String
Dim vContenuLigne As String
Dim vContenuFichier As String
Dim i As Integer, j As Integer, k As Integer
'ouverture du fichier nomFichier.txt déjà créé pour lecture seule
'et on stocke son contenu dans la variable vContenuFichier
Open "c:\nomFichier.txt" For Input As #1
While Not EOF(1)
Line Input #1, vContenuLigne
vContenuFichier = vContenuFichier & vContenuLigne
Wend
'on ferme le dit fichier
Close #1
'remplir le tableau par les caractères qu'on veut compter
For j = 65 To 90
tableCar(j) = Chr(j)
Next j
'appel de la fonction qui compte chaque caratères du tableau tableCar()
For k = 65 To 90
Text1.Text = Text1.Text & "nombre des " & tableCar(k) & " est : " & compterCar(vContenuFichier, tableCar(k)) & vbCrLf
Next k
End Sub
'-----------------------------------------------------------------------
Function compterCar(vChaine As String, ByVal vCar As String) As Integer
Dim nbrCar As Integer
Dim i As Integer
For i = 1 To Len(vChaine)
If Mid(vChaine, i, 1) = UCase(vCar) Or Mid(vChaine, i, 1) = Chr(Asc(UCase(vCar)) + 32) Then nbrCar = nbrCar + 1
Next i
compterCar = nbrCar
End Function
'-----------------------------------------------------------------------
merci pour ta contribution maolee, et bienvenue sur ce forum :)