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 :

problème d'arrondi dans une marco


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 93
    Par défaut problème d'arrondi dans une marco
    bonjour,

    Dans le code ci-dessous je converti ma valeur en texte pour supprimer les chiffres après la virgulle et ne garder que les entiers.

    Le soucis est que excel arrondi à l'entier supérieur.

    Comment faire pour garde l'entier uniquement sans arrondi supérieur?

    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
    20
    Private Sub calculpacks()
     
    Dim i As Long
     
    'boucle sur la colonne A
    For i = 2 To Range("A65536").End(xlUp).Row
     
        If Range("A" & i).Value <> "" Then
        Range("D" & i).Select
        ActiveCell.FormulaR1C1 = "=RC[-2]/RC[-1]"
        Selection.NumberFormat = "0"
        Range("D" & i) = Range("D" & i).Text
        Range("E" & i).Select
        ActiveCell.FormulaR1C1 = "=RC[-3]-(RC[-2]*RC[-1])"
        Selection.NumberFormat = "0"
        End If
     
    Next i
     
    End Sub

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 207
    Par défaut
    Bonjour,

    Citation Envoyé par gigalia Voir le message
    Comment faire pour garde l'entier uniquement sans arrondi supérieur?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 93
    Par défaut
    Bonjour,

    J'ai vu dans un autre post les différentes possibilité dont la tienne ("floor").

    J'ai pris pour ma part "fix".

    Voila le 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
    17
    18
    19
    20
    21
    22
    Private Sub calculpacks()
     
    Dim i As Long
     
    'boucle sur la colonne A
    For i = 2 To Range("A65536").End(xlUp).Row
     
        If Range("A" & i).Value <> "" Then
        If Range("C" & i).Value <> "" Then
        Range("D" & i).Select
        ActiveCell.FormulaR1C1 = "=RC[-2]/RC[-1]"
        Selection.NumberFormat = "0.0"
        Range("D" & i) = Fix(Range("D" & i).Value)
        Range("E" & i).Select
        ActiveCell.FormulaR1C1 = "=RC[-3]-(RC[-2]*RC[-1])"
        Selection.NumberFormat = "0"
        End If
        End If
     
    Next i
     
    End Sub

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    C'est la fonction ENT d'Excel

    Une proposition pour ton code (à adapter)
    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
    Private Sub calculpacks()
    Dim LastLig As Long, i As Long
     
    Application.ScreenUpdating = False
    With Worksheets("Feuil1")                        'A adapter
        LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
        With .Range("D2:D" & LastLig)
            .FormulaR1C1 = "=IF(AND(RC[-3]<>"""",RC[-1]<>0),INT(RC[-2]/RC[-1]),"""")"
            .Value = .Value
        End With
        With .Range("E2:E" & LastLig)
            .FormulaR1C1 = "=RC[-3]-(RC[-2]*RC[-1])"
            .Value = .Value
        End With
    End With
    End Sub

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

Discussions similaires

  1. probléme d'insert dans une page asp !
    Par tomtom25 dans le forum ASP
    Réponses: 5
    Dernier message: 31/03/2005, 16h04
  2. Problème de dépendances dans une table
    Par PrinceMaster77 dans le forum Outils
    Réponses: 1
    Dernier message: 22/11/2004, 12h39
  3. Problème de recherche dans une BD
    Par ledevelopeur dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/04/2004, 09h49
  4. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19
  5. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46

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