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 :

Arrondi en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    coordinatrice adv
    Inscrit en
    Mai 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : coordinatrice adv
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2014
    Messages : 27
    Points : 21
    Points
    21
    Par défaut Arrondi en VBA
    bonjour,

    je voudrais arrondir au plus prés une plage de cellule, de E3 à E14
    est ce quelqu’un peut m'aider please?
    ci-dessous le début de mon code


    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
    Sub MajBareme()
    'les variables pour la mise à jour du bareme
    Dim annee As Object, annéecours As Integer
    Dim anneeref, colref, annee_moins_un, col_en_cours
    Dim Taux
    Sheets("bareme").Activate
        'Set année = CreateObject("scripting.dictionary")
        annéecours = InputBox("Veuillez saisir l'année en cours?")
     
        Taux = Application.InputBox("Veuillez indiquer le pourcentage d'augmentation du prix en %.", "Pourcentage d'augmentation du prix", , , , , , 1)
        anneeref = 2016
        colref = 4 'année 2016
        annee_moins_un = annéecours - anneeref
        col_en_cours = colref + annee_moins_un
        col_annee_moins_un = col_en_cours - 1
        Cells(1, col_en_cours).Value = Taux / 100

  2. #2
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 291
    Points
    291
    Billets dans le blog
    1
    Par défaut
    un petit round

    round(valeur, nb de décimales)

    round(100.23456,1) =>100.2
    round(100.25456,1) =>100.3

  3. #3
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(dblNumber ,"###,##0.00")
    Dernière modification par AlainTech ; 12/12/2016 à 03h31. Motif: Balises [code]

  4. #4
    Membre à l'essai
    Femme Profil pro
    coordinatrice adv
    Inscrit en
    Mai 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : coordinatrice adv
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2014
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Format(dblNumber ,"###,##0.00")
    bonjour,

    par contre il me met une erreur "erreur de compilation" Attendu: =
    tu peux m'aider stp car je vois pas ce que je pourrais mettre après le =

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Je bondis lorsque je lis ta dernière réponse (car cela révèle trop de méconnaissances des bases de chez base) :
    par contre il me met une erreur "erreur de compilation" Attendu: =
    tu peux m'aider stp car je vois pas ce que je pourrais mettre après le =
    Oh !
    rien après le "=", mais ce qu'il faut AVANT
    Format s'applique à une variable. Format n'est pas une méthode, mais une fonction
    Tu ne peux imaginer à quel point ces incompréhensions là me donnent envie de fuir (de manière plus que justifiée).
    Et si tu commençais par l'apprentissage des bases ? Cela t'aiderait sans aucun doute à comprendre ce que tu fais.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  6. #6
    Membre à l'essai
    Femme Profil pro
    coordinatrice adv
    Inscrit en
    Mai 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : coordinatrice adv
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2014
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    je débute et je suis loin de tout connaitre, je suis sur qu'il va falloir du temps mais je vais y arriver. Je pensais que ce site était pour tout les niveaux même pour ceux qui n'ont pas de niveau (comme moi). pour toi cela dois être facile mais pas forcement pour tout le monde. mais je prendre tes conseils à la lettre. Mais je pense que si tu réponds aux débutants ainsi cela ne va pas les aider.

  7. #7
    Invité
    Invité(e)
    Par défaut
    oui en fait, un numérique en fonction de la convention Ecriture n'en est peut être pas un!

    d'un point de vu Excel, vue qu'il utilise le paramètres régionaux peu être mais pas de vba!

    ainsi une virgule sera vue comme le séparateur décimal mais pas en vba qui respecte le point d'ou la fonction round ne notre amis précédant qui retourne que 2 chiffre derrière le milliers!

    format(12.126,"#.00") retournera 12,13 et format(12.124,"#.00") 12,12 nous avons bien un arrondi!

    mais encore faut-il que la valeur soit un numérique et ça 100.23456,126456789) j'en doute du point de vue vba!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(val(replace(replace("100.23456,126456789",".",""),",",".")),"###,##0.00")
    ça ce complique car si je place 100.23456,126456789 il m'affiche à gauche de la cellule, preuve que même pour lui c'est pas un numérique!

  8. #8
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    A kari1978 :
    C'est donc au débutant, que je vais m'adresser :
    Un débutant s'empressze d'ouvrir son aide VBA à la rubrique Format et à l'exemple dont cette rubrique est assortie.
    Il y découvre que son utilisation est du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_retour = Format(var_traitée, type_de_format)
    et en aucun cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(var_traitée, type_de_format)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(var_traitée, type_de_format) = quelque_chose
    Et ce mécanisme (cette forme d'écriture) est rigoureusement le même pour tout type de fonction (Format étant une fonction).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_retour = ma_fonction(tel_paramètre_d'entrée, tel_autre_paramètre, etc ...)
    Ce sont CES bases, qu'il te faut d'abord assimiler. Elles sont indispensables.
    Voilà
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

Discussions similaires

  1. VBA Excel Arrondi
    Par Lavip dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 16/07/2008, 17h28
  2. Export variables VBA vers feuille Excel, valeur arrondi
    Par BluE SphynX dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/09/2007, 10h23
  3. [VBA-E] pb d'arrondis lors d'une somme
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/05/2007, 14h14
  4. Fortran vers VBA : problème d'arrondi
    Par sun19 dans le forum Fortran
    Réponses: 4
    Dernier message: 23/11/2006, 17h01

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