XL 2013 Format d'affichage cellule Excel

YB91

XLDnaute Nouveau
Bonjour,
J'ai un fichier avec des séries de nombres différents et pour lequel je souhaite automatiser l'affichage avec un nombre de décimales et avec un arrondi. Je suis arrivé aux 2 premières étapes, reste la dernière, comment afficher les zéros après le point décimal en fonction du nombre de décimales que j'ai choisi, exemple avec un choix automatique de 3 décimales, comment afficher 123,400 et non 123,4 et idem pour tout mon tableau si je programme d'avoir 3 décimales avec arrondi(a1;b1) sachant que qu'en a1 j'ai le nombre à arrondir et en b1 le nombre de décimales déterminé automatiquement. Le formatage habituel ne me va pas puisque qu'il n'est pas automatisé)
MERCI d'avance pour votre aide sachant que je ne suis pas informaticien et que les programmation en VBA ou autre, je n'y suis pas du tout habitué)
 

YB91

XLDnaute Nouveau
MERCI pour cette réponse. Mais elle ne me convient pas du tout car le nombre de décimales est variable. Comme dans mon exemple en b1 (7 à -3) et donc le format # ##0,000 ne peut me convenir sauf si vous savez comme faire # ##(b1) (b1 étant le nombre de zéro) et comment faire si le nombre de décimales est de -3 donc arrondi et afficher 123456;789 en 123000 ,
A Bientôt j'espère
 

nicogef

XLDnaute Nouveau
Afficher des nombres en milliers, millions, milliards

Il est également possible d’abréger les nombres et d’afficher des arrondis en milliers, en millions ou en milliards.

Afficher un arrondi au millier, million ou au milliard près

  • Pour les milliers: # ##0,0 « K€ » (un seul espace avant les guillemets)
  • Pour les millions: # ##0,0 « M€ » (deux espaces avant les guillemets)
  • Pour les milliards: # ##0,0 « Md€ » (trois espaces avant les guillemets)
lien https://www.formuleexcel.com/comment-personnaliser-le-format-des-nombres-sur-excel/
cordialement
nicogef
 

YB91

XLDnaute Nouveau
Bonsoir,
Vu mais ça ne me convient pas car où est le lien avec la cellule b1 dans laquelle il y a un nombre de décimales --7 à 7) que je souhaite utiliser pour arrondir le nombre sachant que le nombre doit comporter le format du nombre de décimales avec le nombre de zéros (exemple 123000 si -3, 123,0 si 1 et 123,45000 si 5) . Il faut trouver une autre méthode sans passer par "format cellule" => "personnalisé" .....
MERCI tout de même d'avoir essayé de m'aider
A PLUS
 

Calvus

XLDnaute Barbatruc
Bonsoir YB91, Job75 :), nicogef,

je ne suis pas informaticien

Moi non plus..;)


Une solution en vba, code dans la feuille.

VB:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Single

Range("C:C").NumberFormat = "General"
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    If Cells(i, 2) < 0 Then Cells(i, 3) = Int(Cells(i, 1)): Exit Sub
        If Cells(i, 1) <> "" And Cells(i, 2) <> "" Then
            Cells(i, 3).NumberFormat = "000." & String(Cells(i, 2), "0")
            Cells(i, 3).Value = Cells(i, 1)
        End If
Next i
End Sub

A+
 

Pièces jointes

  • Yb91.xlsm
    19.1 KB · Affichages: 9

YB91

XLDnaute Nouveau
MERCI beaucoup
Cela semble correspondre tout à fait à ce que je recherche mais il y a un HIC.
Je ne sais même pas comment exploiter ce type de fichier, de vba, comment l'intégrer dans mon fichier, ....
C'est rageant de constater qu'un "pro" me donne la solution et ne pas savoir comment l'utiliser, l'intégrer !
AH, j'ai du boulot en vue mais surtout mes méninges ne sont pas à la hauteur
Encore MERCI
YB91
 

YB91

XLDnaute Nouveau
MERCI à job75, je me suis servi de son classeur pour essayer de l'adapter à mon besoin car ça ne marchait pas si le nombre de décimales était < 0.
Je joins le fichier que j'ai modifié
Quant à Calvus, MERCI mais c'est trop compliqué pour moi, je n'arrive pas à comprendre comment adapter cette "macro" dans mon tableau et pour des cellules dans mon tableau
BON DIMANCHE à tous
 

Pièces jointes

  • Classeur(1)_modif(YB91).xlsx
    11.4 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonjour YB91, Calvus, le forum,

J'ai bien compris avec ARRONDI mais alors il suffit d'une seule formule en C1 de ce fichier (2) :
Code:
=SI(B1<=0;ARRONDI(A1;B1);TEXTE(A1;"0,"&REPT(0;B1)))
A+
 

Pièces jointes

  • Classeur(2).xlsx
    16.1 KB · Affichages: 8
Dernière édition:

Calvus

XLDnaute Barbatruc
Bonjour Yb91, Job75, le forum,

Alors toujours en vba, la même chose mais avec le bon classeur cette fois..

VB:
Option Explicit


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Single

Application.ScreenUpdating = False
Range("D:D").NumberFormat = "General"
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    If Cells(i, 3) < 0 Then
    Cells(i, 4) = WorksheetFunction.Round(Cells(i, 1), Cells(i, 3))
Else
    If Cells(i, 1) <> "" And Cells(i, 3) <> "" Then
            Cells(i, 4).NumberFormat = "0." & String(Cells(i, 3), "0")
            Cells(i, 4).Value = Round(Cells(i, 1), Cells(i, 3))
        End If
        End If
Next i
Application.ScreenUpdating = True
End Sub

Ps : si tu veux adapter, t'as qu'à demander et expliquer ce que tu veux exactement..

A+
 

Pièces jointes

  • Classeur(1)_modif(YB91).xlsm
    21.7 KB · Affichages: 7

Discussions similaires

Réponses
1
Affichages
570

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 153
dernier inscrit
SamirN