IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Discussion :

Problème mathématique troncature


Sujet :

VBA

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Points : 50
    Points
    50
    Par défaut Problème mathématique troncature
    Voila, je programme sous VBA depuis Mind Manager. Mon problème est je le sais, très simple mais je n'arrive vraiment pas à trouver la solution...

    Quand je programme, j'utilise parfois la fonction Round pour effectuer un arrondi. A un autre moment, j'ai besoin d'utiliser la troncature d'un nombre. J'ai tenté Truncate mais cette fonction ne marche pas, je ne sais pas comment faire...

    Merci de votre attention

  2. #2
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut
    Tu peux aussi utiliser Round dans ce cas.
    Extrait de l'aide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Round, fonction
     
    Description
    Renvoie un nombre arrondi à un nombre spécifié de positions décimales.
     
    Syntaxe
    Round(expression [,numdecimalplaces])
     
    La syntaxe de la fonction Round comprend les éléments suivants :
    expression = Expression numérique arrondie. 
    numdecimalplaces (Facultatif) = Nombre indiquant combien de positions à droite 
    de la virgule sont incluses dans le nombre arrondi. 
    Si cette valeur est omise, les entiers sont arrondis par la fonction Round.
    (\ _ /)
    (='.'=)
    L'erreur est humaine. Mais pour une véritable catastrophe il faut un ordinateur
    (")-(") Lorsque votre problème est solutionné, merci de cliquer sur

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Points : 50
    Points
    50
    Par défaut
    Merci pour ta rapide réponse

    Je connais la fonction Round mai sje ne vois pas trop commment l'utiliser...

    Voila pourquoi...

    J'ai un tableau de n lignes
    Je l'envoie en image sur PPT et je souhaite mettre que 3 ligne du tableau par slide. Ainsi, je compte le nombre total de ligne. Je le divise par trois. Je tronque le ce nombre pour obtenir le nombre de slides "régulier" (i.e. avec 3 lignes). Le reste de ma troncature est donc un nombre de ligne compris entre 0 et 2. Ceci constitue le dernier slide.

    L'arrondi ne fonctionnera pas car la troncature est donne un entier qui me sert d'indice pour une boucle for. Je sais pas si c'est possible avec un Single.

    Pour le moment, j'utilise un passage par excel et donc une fonction EXCEL qui me tronque le nombre...

    Ma macro fonctionne mais disons que je voulais un peu optimiser la chose...

    Je sais pas si j'ai été très clair mais je fais ce que je peux lol

  4. #4
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut
    Peut être que ceci pourra t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub TestSilde()
        Dim A 'Nombre de lignes
        Dim B 'Resultat de la division par 3
        Dim C 'Nombre de slides complet
        Dim D 'Nombre de ligne du dernier slide
     
        A = 23
        B = A / 3
        C = Int(B)
        D = A - (3 * C)
     
        MsgBox "A:" & A & " B:" & B & " C:" & C & " D:" & D
    End Sub
    Le MsgBox n'est là que pour visualiser les résultats obtenus
    (\ _ /)
    (='.'=)
    L'erreur est humaine. Mais pour une véritable catastrophe il faut un ordinateur
    (")-(") Lorsque votre problème est solutionné, merci de cliquer sur

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Points : 50
    Points
    50
    Par défaut
    Effctivement c'est pile ce qu'il me faut puisque la partie entière d'un nombre n'est rien d'autre que sa troncature

    Encore merci

  6. #6
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonsoir,

    la division entiére : \ et peu-être plus appropriée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub monTest()
    For i = 1 To 30
     Debug.Print CInt(i / 3) & " -- " & i \ 3 & "-- " & i / 3
     Next
    End Sub
    JacqueS.
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Problème mathématique et VBA
    Par diamond8 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/12/2010, 20h14
  2. Problème mathématiques - calcul
    Par Zanga dans le forum Calcul scientifique
    Réponses: 5
    Dernier message: 14/12/2009, 17h55
  3. Algorithme, petit problème mathématique
    Par GoustiFruit dans le forum Débuter
    Réponses: 8
    Dernier message: 23/06/2009, 15h01
  4. Problème mathématique avec les nombres
    Par ramirami dans le forum Langage
    Réponses: 51
    Dernier message: 15/02/2007, 23h07
  5. Problème mathématique
    Par Appwal dans le forum Mathématiques
    Réponses: 22
    Dernier message: 13/05/2006, 18h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo