re-bonjour,
une idée pour la moyenne
Sub test()
' choisir le fichier à ouvrir, résultat dans fichiercible
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "ouvrir fichier texte"
.Filters.Clear
.Filters.Add "text file", "*.txt"
.AllowMultiSelect = False
If .Show = -1 Then
fichiercible = .SelectedItems(1)
End If
End With
Cells.Clear ' vider la feuille
Open fichiercible For Input As 1 'ouvrir le fichier choisi
Input #1, l ' lire la première ligne
pl = 1 'pl = pointeur de ligne pour les ray trouvés, est aussi le nombre de ray trouvés +1
c = 0 ' c=compteur d'impacts trouvés pour un ray
While Not EOF(1) ' tant qu'on n'est pas à la fin du fichier
If Left(l, 3) = "Ray" Then ' si ligne contient ray
If pl <> 1 Then Cells(pl, 2) = c: sc = sc + c: c = 0 ' on met le nombre d'impacts trouvés pour le ray précédent dans C, on totalise le nombre d'impacts total dans sc
pl = pl + 1 ' on passe à la ligne pour le ray suivant
Cells(pl, 1) = Replace(l, "Ray: ", "") ' on y écrit son numéro
Else
If Left(l, 6) = "Impact" Then c = c + 1 ' si impact trouvé, on incrémente le compteur d'impacts
End If
Input #1, l ' on lit la ligne suivante du fichier
Wend
Close ' on ferme le fichier
Cells(pl, 2) = c ' on écrit le compteur d'impact pour le dernier ray
sc = sc + c ' on adapte le total des impacts
Cells(1, 1) = "N° Ray" ' entêtes de colonnes
Cells(1, 2) = "# impacts"
Cells(1, 3) = "Moyenne"
Cells(2, 3) = sc / (pl - 1) ' calcul de l moyenne
End Sub