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

Macros et VBA Excel Discussion :

Réaliser une somme avec arrondi


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut Réaliser une somme avec arrondi
    Bonsoir,

    Je suis sur le sujet depuis très longtemps mais après avoir cherché sur internet je n'ai pas trouvé..

    je cherche à réaliser une somme mais avec la fonction arrondi....

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim lign As Long
    Dim ligne As Long
     
    ligne = Range("J" & Rows.Count).End(xlUp).Row
    lign = Range("G1").End(xlDown).Row + 1
     
    'Cells(ligne + 1, 2) = Application.Sum(lign & ligne)
    Cells(ligne + 1, 2) = Application.Sum(Range(Cells(lign, 2), Cells(ligne, 2)))
    Pouvez vous m'aider sur le sujet svp ?

  2. #2
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonsoir,
    Voir la propriété Round : dans le code sélectionné et appuyer sur F1 pour les explications
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    En plus de la fonction Round() porposé par RyuAutodidacte, tu as aussi les fonctions Arrondi.Sup() et Arrondi.Inf() d'Excel qui te permettent de mieux maîtriser les valeurs de retour que tu souhaites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Sub Test()
     
        Dim lign As Long
        Dim ligne As Long
     
        ligne = Range("J" & Rows.Count).End(xlUp).Row
        lign = Range("G1").End(xlDown).Row + 1
     
        With Application
     
            'arrondi vers le bas (ici, décimale = 0)
            Cells(ligne + 1, 2) = .RoundDown(.Sum(Range(Cells(lign, 2), Cells(ligne, 2))), 0)
            'arrondi vers le haut (ici, décimale = 2)
            Cells(ligne + 1, 2) = .RoundUp(.Sum(Range(Cells(lign, 2), Cells(ligne, 2))), 2)
     
        End With
     
    End Sub

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Une autre solution
    Avec la somme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ENT(SOMME(I2:I16)+0,5)
    Il existe également les fonctions PLAFOND et PLANCHER
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Re,
    Et pour trouver plus facilement ce que tu cherches, une autre solution consiste à écrire (en faisant simple) le type de formule qui t’intéresse dans excel, comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =SOMME(B12;C12)
    =ARRONDI.INF(A1;2)
    =ARRONDI.AU.MULTIPLE(A1;0,1)
    de sélectionner la cellule où se trouve la formule et d'aller dans la fenêtre "Exécution" de VBA - écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debug.print Selection.formula
    selon la cellule sélectionner contenant la formule on obtient :
    Nom : Formula.png
Affichages : 807
Taille : 3,3 Ko


    Edit :
    Avec l'exemple comme proposé par @Philippe Tulliez concernant (toujours avec debug.print Selection.formula)
    Plafond
    Plancher
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

Discussions similaires

  1. VBA-E Comment réaliser une recherche avec plusieurs critères ?
    Par Larsen21 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 14/12/2006, 13h43
  2. [Débutant] Réaliser une condition avec ANT
    Par Invité dans le forum ANT
    Réponses: 5
    Dernier message: 04/07/2006, 10h55
  3. [XML][Debutant]Faire une somme avec condition...
    Par cackybis dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2006, 16h07
  4. [Excel]Faire une somme avec une macro
    Par Chlo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/01/2006, 19h53
  5. Pb récupération d'une somme avec SUM()
    Par momo99 dans le forum InterBase
    Réponses: 3
    Dernier message: 01/11/2005, 15h38

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