Function Pgcd2(ByVal A As Long, ByVal B As Long) As Long
'Calcul le PGCD de deux nombres
'Variante optimisant l'Algo d'Euclide
'Déclarations
Dim R As Long
'validité paramètre
If A = 0 And B = 0 Then Exit Function 'Pas de solution
If A < B Then R = B: B = A: A = R 'inverse les valeurs
'Algo
Do While Abs(B) >= 1
R = A - Int(A / B + 0.5) * B 'Ici le +0.5 permet de réduire mathématiquement le nb de boucle nécessaire
A = B
B = R
Loop
Pgcd2 = Abs(A)
End Function