Copier valeurs Cellules sans les décimales

Burnoc

XLDnaute Nouveau
Bonjour, je solicite vote aide car je ne trouve pas la solution à mon problème après des recherches sur le net.(pourtant cela me parraissait simple ^^).

J'ai une base de données avec notmament une colone comprennant pour chaques cellules une valeurs à pluiseurs décimales. J'ai affiché ces valeurs à une décimale et j'aimerais copier cette colone en l'état pour que mes futurs calculs se fassent sans les décimales.

Pour exemple dans ma celulle A1 s'affiche : 4.1. et dans ma barre de formule la valeur affichée est 41,4036529680365.
Impossible de copier ma colonne pour que 4.1 soit, dans la cellule et dans la barre de formule.
La seul solution que j'ai trouvé est de modifier à la main tout les formules (qui n'en sont pas vraiment) mais j'en ai environ 1000...

en espérant avoir été assez clair
Merci par avance pour vos réponses.
Cordialement
 

Burnoc

XLDnaute Nouveau
merci pour cete réponse., elle m'a permis d'avoir un déclic
J'avais vu cette réponse déjà mais du coup je voyais pas comment l'appliquer a toute les colonnes.
Il me suffisait de copier ma colonne, rentrer =arrondi(cellule d'a côté,1) puis de "tirer" sur la totalité de ma colonne et une nouvelle fois copier en copiant seulement les valeurs.
 

job75

XLDnaute Barbatruc
Bonjour Burnoc, M12,

Pour traiter la colonne vous pouvez exécuter cette macro :
Code:
Sub Arrondir()
Dim n%, col%, t, i&, x$
n = 1 '2ème argument de la fonction Excel ARRONDI, à adapter
col = 1 'n° de colonne à traiter, à adapter
With ActiveSheet.UsedRange.Columns(col)
  t = .Resize(, 2).Formula 'au moins 2 éléments
  For i = 1 To UBound(t)
    x = t(i, 1)
    If Left(x, 1) <> "=" Then If IsNumeric(Evaluate(x)) Then t(i, 1) = Application.Round(Val(x), n)
  Next
  .Formula = t
End With
End Sub
Comme il se doit les formules sont ignorées.

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re,

Et si l'on veut traiter toutes les colonnes :
Code:
Sub Arrondir()
Dim n%, ncol%, t, i&, j%, x$
n = 1 '2ème argument de la fonction Excel ARRONDI, à adapter
With ActiveSheet.UsedRange
  ncol = .Columns.Count
  t = .Resize(, ncol + 1).Formula 'au moins 2 éléments
  For i = 1 To UBound(t)
    For j = 1 To ncol
      x = t(i, j)
      If Left(x, 1) <> "=" Then If IsNumeric(Evaluate(x)) Then t(i, j) = Application.Round(Val(x), n)
  Next j, i
  .Formula = t
End With
End Sub
A+
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
235

Statistiques des forums

Discussions
312 231
Messages
2 086 452
Membres
103 215
dernier inscrit
anass moufik