Sub Test_cal6_3()
Dim Tableau_en_Cours, Range_en_Cours As Range, Compteur& 'définition des variables
Set Range_en_Cours = Range("B2:C" & Cells(Rows.Count, 2).End(xlUp).Row) 'référencement du tableau final des cellules sur deux colonnes
Tableau_en_Cours = Range_en_Cours.Value 'création du tableau Vb en mémoire
For Compteur = LBound(Tableau_en_Cours, 1) To UBound(Tableau_en_Cours, 1) 'boucle sur toutes les lignes du tableau
Tableau_en_Cours(Compteur, 1) = Trim(Tableau_en_Cours(Compteur, 1)) 'suppression des espaces avant après en colonne 1
If InStr(1, Tableau_en_Cours(Compteur, 1), "(") > 0 Then
Tableau_en_Cours(Compteur, 2) = Right(Tableau_en_Cours(Compteur, 1), Len(Tableau_en_Cours(Compteur, 1)) - (InStr(1, Tableau_en_Cours(Compteur, 1), "(") + 1))
Tableau_en_Cours(Compteur, 2) = Left(Tableau_en_Cours(Compteur, 2), Len(Tableau_en_Cours(Compteur, 2)) - 1)
Tableau_en_Cours(Compteur, 2) = (Left(Tableau_en_Cours(Compteur, 2), InStr(1, Tableau_en_Cours(Compteur, 2), "''") - 1) * 100) + Right(Tableau_en_Cours(Compteur, 2), 2) 'convertit en centièmes de secondes
End If
Tableau_en_Cours(Compteur, 1) = Replace(Left(Tableau_en_Cours(Compteur, 1), InStr(1, Tableau_en_Cours(Compteur, 1), "''") - 1), "''", ":") ' extrait les minutes secondes et remplaces '' par :
If InStr(1, Tableau_en_Cours(Compteur, 1), "'") = 0 Then 'teste la présence du séparateur ' et adapte le traitement
Tableau_en_Cours(Compteur, 1) = "00:00:" & Tableau_en_Cours(Compteur, 1)
Else
Tableau_en_Cours(Compteur, 1) = "00:" & Replace(Tableau_en_Cours(Compteur, 1), "'", ":")
End If
Next Compteur
Range_en_Cours.Value = Tableau_en_Cours 'on écrase les valeurs des cellules avec les valeurs du tableau
Columns(2).NumberFormat = "MM:SS"
Columns(3).NumberFormat = "00"
End Sub