Bonjour,
Je cherche à calculer l'écart moyen entre deux intervention (le MTBF : Mean time Between failure, pour ceux qui conaissent...)
Je cherche donc à partir d'une liste datée d'interventions, à comparer les dates deux à deux ( soustraire la plus grande par la plus faible pour avoir le nombre de jour entre deux problème), ceci divisé par le nombre d'intervention - 1 pour avoir la différence moyenne.
Voici mon code :
Il me manque l'astuce pour comparer les dates (colonne F) deux à deux pour une même machine ( colonne C).
Actuellement mon total est faux, car on sélectionne bien la date d'intervention sur la machine qui nous interesse par :
, ceci dit
nous sélectionne la case d'en dessous, qui elle n'est pas forcement à la machine nous intéressant.
Il me manquera également l'astuce pour passer aux comparaison suivantes, sans reprendre celle effectuée.
Findnext ?
Merci,
DGVDR
Je cherche à calculer l'écart moyen entre deux intervention (le MTBF : Mean time Between failure, pour ceux qui conaissent...)
Je cherche donc à partir d'une liste datée d'interventions, à comparer les dates deux à deux ( soustraire la plus grande par la plus faible pour avoir le nombre de jour entre deux problème), ceci divisé par le nombre d'intervention - 1 pour avoir la différence moyenne.
Voici mon code :
Code:
Sub MTBFOK()
Dim Cptr As Byte, Lig As Byte, Lig2 As Byte
Dim Total As Byte
Dim Nbre As Byte
Dim l As Integer
Dim Machine As String
For l = 3 To 40
Machine = Worksheets("Global").Range("V" & l) ' Liste des machines '
With Worksheets("Enregistrements interventions") ' Feuille ou on trouve le listing des interventions toute machine confondue'
Nbre = Application.CountIf(.Range("C5:C100"), Machine) ' nous trouve le nombre d'intervention '
If Nbre = 0 Then GoTo vide
Lig = 4
For Cptr = 1 To Nbre ' partie plus hasardeuse...'
Lig = .Columns("C").Find(Machine, .Cells(Lig, "C"), xlValues).Row
Total = Total + .Cells(Lig + 1, "F") - .Cells(Lig, "F") ' le total est faux'
Next Cptr
End With
Worksheets("Global").Range("W" & l) = Total / (Nbre - 1) ' valeur de mtbf'
Exit Sub
Next l
vide:
MsgBox Machine & ": machine inconnue dans la liste", vbCritical
End Sub
Il me manque l'astuce pour comparer les dates (colonne F) deux à deux pour une même machine ( colonne C).
Actuellement mon total est faux, car on sélectionne bien la date d'intervention sur la machine qui nous interesse par :
Code:
.Cells(Lig, "F")
Code:
.Cells(Lig + 1, "F")
Il me manquera également l'astuce pour passer aux comparaison suivantes, sans reprendre celle effectuée.
Findnext ?
Merci,
DGVDR