Comment faire pour convertir une fraction en un nombre décimal

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 185424
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.
Résumé
Cet article fournit une routine pour convertir une chaîne qui contient une fraction sous la forme "a", "un / b," ou "a b/c" un nombre à virgule flottante double précision.
Plus d'informations
Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite, y compris, sans que cela soit limitatif, les garanties implicites de qualité marchande et/ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous aider à comprendre la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.
Si vous ne maîtrisez que partiellement la programmation, il convient contacter un partenaire certifié Microsoft ou les services de conseil Microsoft. Pour plus d'informations, visitez ces sites Web de Microsoft :

Microsoft certifié partners - https://partner.microsoft.com/global/30000104

Avis de Microsoft Services - http://support.microsoft.com/gp/advisoryservice

Pour plus d'informations sur les options de support technique disponibles et sur la façon de contacter Microsoft, reportez-vous au site Web de Microsoft à l'adresse suivante : http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMSIl est parfois plus pratique de valeurs d'entrée sous forme de fractions plutôt que de nombres décimaux. La routine suivante convertit une chaîne contenant une fraction en un nombre décimal :
  1. Créez un nouveau projet Visual Basic pour applications et ajoutez le code suivant à un module :

    Exemple de code

          Function Frac2Num(ByVal X As String) As Double      Dim P As Integer, N As Double, Num As Double, Den As Double         X = Trim$(X)         P = InStr(X, "/")         If P = 0 Then            N = Val(X)         Else            Den = Val(Mid$(X, P + 1))            If Den = 0 Then Error 11    ' Divide by zero            X = Trim$(Left$(X, P - 1))            P = InStr(X, " ")            If P = 0 Then               Num = Val(X)            Else               Num = Val(Mid$(X, P + 1))               N = Val(Left$(X, P - 1))            End If         End If         If Den <> 0 Then            N = N + Num / Den         End If         Frac2Num = N      End Function						
  2. Dans la fenêtre débogage/exécution, tester :
    ? Frac2Num("5 3/4"), Frac2Num("2/8")
    Résultat : 5,75 0,25
Remarque : Les nombres dans la chaîne d'entrée ne pas doivent être des nombres entiers. Ils peuvent contenir des valeurs décimales et les nombres négatifs.
Références
Pour plus d'informations sur la marche à suivre pour obtenir de l'aide concernant Visual Basic pour applications, consultez l'article suivant dans la base de connaissances Microsoft :
163435VBA : Ressources de programmation pour Visual Basic pour applications
KbVBA kbVBp kbVBp500 kbDSupport kbDSD

Propriétés

ID d'article : 185424 - Dernière mise à jour : 11/23/2006 09:07:53 - Révision : 2.3

Microsoft Visual Basic for Applications 5.0

  • kbmt kbhowto KB185424 KbMtfr
Commentaires