Function Puissance(ByVal Nb1 As Double, ByVal Expo As Long) As Double ' EXPONENTIATION RAPIDE ' Appliqué au calcul d'une puissance entière d'un nb ' Paramètres Dim Signe As Integer ' Traitement pb de signe Signe = Sgn(Expo) Expo = Abs(Expo) ' Cas triviaux If Expo = 0 Then Puissance = 1: Exit Function If Expo = 1 Then Puissance = Nb1: Exit Function ' Algo Puissance = 1 Do If Expo And 1 Then Puissance = Puissance * Nb1 Expo = Expo \ 2 Nb1 = Nb1 * Nb1 Loop While Expo > 1 Puissance = Puissance * Nb1 ' Renvoi 1/puissance si exposant négatif If Signe < 0 Then Puissance = 1 / Puissance End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.