Arrondir un montant à l'euro inférieur sans formule

Anonyme
2023-06-05T08:17:58+00:00

Bonjour,

J'ai créé un tableau Excel où je dois remplir un montant avec décimales différent pour chaque cellule. Je voudrais savoir comment mettre en forme mes cellules pour que mes montants soient automatiquement arrondis à l'euro inférieur.

Je précise que je ne souhaite pas passer par des formules de type "arrondi"... Je souhaiterais qu'il s'agisse d'une mise en forme automatique comme celles que l'on peut trouver dans les formats de cellule.

J'espère avoir été assez clair dans mes explications !

D'avance, je vous remercie de votre solution.

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

4 réponses

  1. Hecatonchire 53,870 Points de réputation Modérateur bénévole
    2023-06-05T10:12:01+00:00

    Il faut placer ce code dans ton fichier ou dans le fichier Personnal.xlsb pour y avoir accès tout le temps.

    Pour le mettre dans ton fichier

    Alt+F11 > ouvre VBE

    Insertion>Module puis colles le code

    Pour le mettre dans Personnal

    Alt+F11 > ouvre VBE

    A gauche sélectionne Personnal (s'il existe)

    Insertion>Module puis colles le code

    Sub ArrondInf() 
    
        Dim byNbDecimalDépart   As Byte 
    
        Dim rgCellule           As Range 
    
        If IsNumeric(ActiveCell.Value2) Then 
    
            byNbDecimalDépart = Application.Max(Len(CDec(ActiveCell.Value2) - Int(ActiveCell.Value2)) - 3, 0) 
    
        Else 
    
            MsgBox "La cellule active est du texte, arret du traitement !", vbCritical, "Exécution impossible" 
    
            Exit Sub 
    
        End If 
    
        ' CDec() pour pallier au problème de virgule flottante 
    
        For Each rgCellule In Selection.Cells 
    
            If IsNumeric(rgCellule.Value2) Then rgCellule.Value2 = Application.RoundDown(rgCellule.Value2, byNbDecimalDépart) 
    
            ' Ignorer le texte 
    
        Next 
    
        ' Application d'un format 
    
        Selection.NumberFormat = IIf(byNbDecimalDépart > 0, "0." & String(byNbDecimalDépart, "0"), "0") 
    
    End Sub 
    

    A chaque exécution une décimale est supprimée (! pas d'annulation possible sauf quitter le fichier sans enregistrer)

    Tu peux ajouter une icone à ta barre d'outils d'accès rapide

    J'ai oublié, en bas le bouton Modifier permet de changer la bulle d'aide et l'icône.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. DanielCo 107.7K Points de réputation
    2023-06-05T09:08:20+00:00

    Bonjour,

    Je ne vois pas de solution simple à ton problème. C'est possible avec une macro ou avec une macro complémentaire (add-in ou complément) si tu dois le faire sur plusieurs classeurs. Cependant, si c'est possible avec les nombres entrés manuellement, c'est plus compliqué avec le résultat de formules.

    Si tu es intéressé, dis-le.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2023-06-05T09:00:34+00:00

    Bonjour,

    Je pense que votre solution pourrait tout à fait me convenir.

    Je ne suis pas experte dans les macros ni dans ce type de langage informatique... pouvez-vous me fournir la formule de la macro et me dire comment la mettre en place ?

    Je l'ai déjà fait mais avec l'aide d'un tuto !!

    Merci beaucoup !

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Hecatonchire 53,870 Points de réputation Modérateur bénévole
    2023-06-05T08:49:08+00:00

    Bonjour,

    Par une mise en forme, je ne pense pas que ce soit réalisable (Microsoft a programmé un raccourci standard).

    Via une macro, on peut remplacer la valeur par l'arrondi inférieur mais on perdra l'information d'origine.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire