Function ControlMinutes$(angle$)
'Vérifie si les chiffres après la virgule ne dépassent pas 59
'- angle : un angle désigné arbitrairement sous la forme X°,Y' avec un maximum de 2 décimales après la virgule (ex : 12,25 <=> 12° 25')
' Dans la feuille, la cellule qui contient la valeur "angle" doit être en format TEXTE
'Ex : angle = 25,75 --> 12,59
' angle = 15,15892 --> 15,15
' angle = 15,20 --> 15,20
' angle = 15,2 --> 15,2
' angle = 15,02 --> 15,2
'Magic_Doctor
Dim largo As Byte, pos As Byte, deg$, min$
pos = InStr(angle, ",") 'position de la virgule dans la chaîne
If pos = 0 Then GoTo fin 'il n'y a que des degrés, on court-circuite les minutes
largo = Len(angle) 'longueur de la chaîne "angle"
deg = Left(angle, pos - 1) 'degrés (à gauche de la virgule)
min = Right(angle, largo - pos) 'à droite de la virgule
min = Left(min, 2) 'minutes
If min > 59 Then
min = 59 'les minutes ne peuvent excéder 59
ElseIf min = "0" Or min = "00" Then '1 "0" tout seul ou 2 "0" inutiles après la virgule
angle = Left(angle, pos - 1)
pos = 0
ElseIf Left(min, 1) = "0" Then 'les minutes sont précédées d'un "0" (ex : 12,03)
min = Right(min, 1)
End If
fin:
' ControlMinutes = IIf(pos = 0, angle, deg & "," & min)
ControlMinutes = IIf(pos = 0, angle & "°", deg & "°" & " " & min & "'")
End Function