Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Vb Problème avec Roundup

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Arpette

XLDnaute Impliqué
Bonsoir à toutes et à tous, je cherche une solution pour arrondir une variable quivant le résultat de mon code. Je m'explique:
si B2*B3/1000/25 est inférieur ou égal à 1, je renseigne 1*25 en A1, si j'arrive à 1,1 je renseigne 2*25, si 2,1 je renseigne 3*25 etc...J'ai écrit ce code mais ça ne change pas comme je souhaite. Je ne sais pas si c'est clair😕
Merci de votre aide
Code:
Option Explicit
Public Function RoundUp(ByVal vValeur As Variant, Optional ByVal iNbDecimal As Integer) As Variant
   If Abs(iNbDecimal) < 1 Then RoundUp = -Int(-vValeur * 10 ^ iNbDecimal) / 10 ^ iNbDecimal
End Function

Sub test()
Dim i As Integer

If Cells(1, 2) * Cells(1, 3) / 1000 = 0 Then
            Cells(1, 1).Value = 0
   End If
    If Cells(1, 2) * Cells(1, 3) / 1000 <> 0 Then
        i = RoundUp(Cells(1, 2) * Cells(1, 3) / 1000) / 25
        
        Cells(1, 1) = i * 25
    End If
End Sub
 
Re : Vb Problème avec Roundup

Bonsoir ,
Essaie comme ceçi

Code:
Sub test()
Dim i As Integer

If Cells(1, 2) * Cells(1, 3) / 1000 = 0 Then
            Cells(1, 1).Value = 0
   End If
    If Cells(1, 2) * Cells(1, 3) / 1000 <> 0 Then
        i = RoundUp(Cells(1, 2) * Cells(1, 3) / 1000)
        Cells(1, 1) = i * 25
    End If
End Sub
 
Re : Vb Problème avec Roundup

Bonsoir Systmd, ça fonctionne bien, mais au lieu d'avoir en A1 25 ou 50 etc.. j'ai 625, 650 etc... Je pense que çà vient de la fonction avec les décimales, mais je ne sais pas où.
Code:
Option Explicit
Public Function RoundUp(ByVal vValeur As Variant, Optional ByVal iNbDecimal As Integer) As Variant
   If Abs(iNbDecimal) < 1 Then RoundUp = -Int(-vValeur * 1 ^ iNbDecimal) / 1 ^ iNbDecimal
End Function
Sub test()
Dim i As Integer

If Cells(1, 2) * Cells(1, 3) / 1000 = 0 Then
            Cells(1, 1).Value = 0
   End If
    If Cells(1, 2) * Cells(1, 3) / 1000 <> 0 Then
        i = RoundUp(Cells(1, 2) * Cells(1, 3) / 1000)
        Cells(1, 1) = i * 25
    End If
End Sub
 
Re : Vb Problème avec Roundup

Bonjour à tous

pour reprendre l'idée d' Habitude avec un précision

[A1] = Round([B2] * [B3] / 1000 / 25 + 0.409, 0) * 25

J'avais une erreur à 2.1 j'obtenai 50 et seulement avec 2.12 j'avais 75
 
Re : Vb Problème avec Roundup

Bonsoir Yannn, Soan, Habitude et systmd, j'ai réussi en faisant l'amalgamme de vos idées à résoudre mon problème. Yann, ta réponse m'a permis de me poser d'autres questions et d'ouvrir des portes auxqu'elles je n'avais pas pensé et tu n'es pas une vieille chaussette 🙂
Merci à tous, je fais çà pour un de nos ami du forum et avec votre aide on va lui simplifier la vie.
@+ dans la vie
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
909
Réponses
4
Affichages
280
Réponses
15
Affichages
779
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…