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

Microsoft 365 Fraction bizarre dans excel

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 !

dessin direct

XLDnaute Nouveau
Bonjour,

j'ai des fractions du genre 11/12, 5/6. 1/6 …
comment régler cela pour avoir des fractions de mesure
correct comme un tape à mesurer automatiquement

Merci pour votre aide
 
Solution
Bonjour @JHA
Il me semble que le format personnalisé "0/#" affiche la fraction au minimum
Oui mais toujours en d'éventuels dénominateurs plus proches autre que 2, 4, 8 et de surcroit plus en 1/16 de pouce cette fois. Avec 2 chiffres au dénominateur, c'est aussi la fraction simplifiée qui est affichée.

J'avais proposé ces deux fonctions il y a quelques temps :
VB:
Option Explicit
Function MètresIm(ByVal Impé)
   Dim Pouces As Double, TSpl() As String
   If TypeOf Impé Is Range Then Impé = Impé.Value
   Select Case VarType(Impé)
      Case vbString
         TSpl = Split(Impé, "'")
         If UBound(TSpl) = 1 Then
            Pouces = 12 * Val(TSpl(0)): Impé = TSpl(1)
            End If
         TSpl = Split(Impé, """")...
Bonsoir.
Je pense qu'en arrondissant au 1/16 ou 1/32 le plus proche ça ne devrait plus faire ça.
En F14 :
Code:
=ARRONDI(((H14*K14)+6)*16;0)/16
En F39 :
Code:
=ARRONDI(16*($B$5-$S$13-$S$15-$S$32)/3;0)/16
etc.
 
Bonjour @JHA
Il me semble que le format personnalisé "0/#" affiche la fraction au minimum
Oui mais toujours en d'éventuels dénominateurs plus proches autre que 2, 4, 8 et de surcroit plus en 1/16 de pouce cette fois. Avec 2 chiffres au dénominateur, c'est aussi la fraction simplifiée qui est affichée.

J'avais proposé ces deux fonctions il y a quelques temps :
VB:
Option Explicit
Function MètresIm(ByVal Impé)
   Dim Pouces As Double, TSpl() As String
   If TypeOf Impé Is Range Then Impé = Impé.Value
   Select Case VarType(Impé)
      Case vbString
         TSpl = Split(Impé, "'")
         If UBound(TSpl) = 1 Then
            Pouces = 12 * Val(TSpl(0)): Impé = TSpl(1)
            End If
         TSpl = Split(Impé, """")
         If UBound(TSpl) = 1 Then
            TSpl = Split(TSpl(0))
            Pouces = Pouces + Val(TSpl(0))
            If UBound(TSpl) = 1 Then
               TSpl = Split(TSpl(1), "/")
               If UBound(TSpl) = 1 Then Pouces = Pouces + Val(TSpl(0)) / Val(TSpl(1))
               End If: End If
      Case vbDouble: Pouces = Impé
      Case Else: MètresIm = CVErr(xlErrValue): End Select
   MètresIm = 0.0254 * Pouces
   End Function
Function Impérial(ByVal m As Double) As String
   Dim Pouces As Double, Pieds As Integer, N&, D%, U$
   Pouces = Int(16 * m / 0.0254 + 0.5) / 16
   If Pouces >= 12 Then
      Pieds = Int(Pouces / 12)
      Impérial = Pieds & "'"
      Pouces = Pouces - 12 * Pieds
      End If
   If Pouces >= 1 Then
      Impérial = Impérial & Int(Pouces)
      Pouces = Pouces - Int(Pouces)
      U = """": End If
   If Pouces > 0 Then
      N = 16 * Pouces: D = 16
      While N Mod 2 = 0: N = N \ 2: D = D \ 2: Wend
      If Right$(Impérial, 1) > "'" Then Impérial = Impérial & " "
      Impérial = Impérial & N & "/" & D
      U = """": End If
   Impérial = Impérial & U
   End Function
 

Cette solution me semble intéressante pour intégrer dans mes fichiers source.
Je dois copier tout le code ? Merci
 
- 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
18
Affichages
506
Réponses
10
Affichages
261
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…