format celulle pour nombre simple

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 !

Evelynetfrancois

XLDnaute Impliqué
bonjour
pouvez vous m aider ?
je recherche ,pour une colonne , un format de nombre
me donnant 12 si le nombre est entier et 0.250 pour un nombre avec décimales
le tout restant des nombres et ( non du texte) additionnables
merci pour vos sujetions
bon apres midi a tous
E et F
 
Re : format celulle pour nombre simple

Bonjour,

Dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal r As Range)
Set r = Intersect(r, Me.UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r 'si entrées multiples
  If IsNumeric(r) Then r.NumberFormat = IIf(Int(r) = r, "0", "0.000")
Next
End Sub
A+
 
Re : format celulle pour nombre simple

Re,

Si l'on veut se limiter à la colonne A :

Code:
Private Sub Worksheet_Change(ByVal r As Range)
Set r = Intersect(r, [A:A], Me.UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r 'si entrées multiples
  If IsNumeric(r) Then r.NumberFormat = IIf(Int(r) = r, "0", "0.000")
Next
End Sub
A+
 
Re : format celulle pour nombre simple

Re,

Si les données en colonne A sont calculées par des formules utiliser :

Code:
Private Sub Worksheet_Calculate()
Dim r As Range
Set r = Intersect([A:A], Me.UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r
  If IsNumeric(r) Then r.NumberFormat = IIf(Int(r) = r, "0", "0.000")
Next
End Sub
Toute la colonne doit être traitée.

A+
 
Re : format celulle pour nombre simple

Bonjour job75+++
Dans un premier temps je pensais juste a un format de cellules...
Mais vu que ta proposition en VBA fait des merveilles, je m'y plis !!!
Mais maintenant me vient une autre interrogation :
J’ai environ 60 feuilles dans 1 même classeur
Dois je coller dans chaque feuille la macro ou est il possible de l’adapter pour la mettre dans ThisWorkBook
Encore mille mercis
E et F
 
Re : format celulle pour nombre simple

Re,

Oui dans ThisWorkbook :

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal r As Range)
Set r = Intersect(r, Sh.[A:A], Sh.UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r 'si entrées multiples
  If IsNumeric(r) Then r.NumberFormat = IIf(Int(r) = r, "0", "0.000")
Next
End Sub

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim r As Range
Set r = Intersect(Sh.[A:A], Sh.UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r
  If IsNumeric(r) Then r.NumberFormat = IIf(Int(r) = r, "0", "0.000")
Next
End Sub
A+
 
Re : format celulle pour nombre simple

Re,

Si les colonnes A des feuilles sont déjà renseignées il est facile de les mettre à jour :

Code:
Sub MAJ()
Dim w As Worksheet
For Each w In Worksheets
w.[A:A].Copy w.[A1]
Next
End Sub
La ou les macros du post #6 étant bien sûr en place.

A+
 
- 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
3
Affichages
417
Réponses
6
Affichages
1 K
Réponses
2
Affichages
1 K
Retour