Format de cellule personnalsé

  • Initiateur de la discussion Initiateur de la discussion anna111
  • Date de début Date de début

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 !

anna111

XLDnaute Junior
bonjour à tous
je cherche une formule de format de cellule à copier dans nombre/personalsé/type qui me permette ce-ci :
1- si je tape : 1000 s'affiche : 1 000 kg
2- si je tape : 1000,5 s'affiche 1 000,5 kg
mon probleme,
quand 1 ok, 2 affiche 1 001 kg
quand 2 ok, 1 affiche 1 000,0 kg
un format standard avec séparateur de millier sans décimale + "kg"
quelqu'un la connais ?
merci
 
Re : Format de cellule personnalsé

Bonsoir Anna, PierreJean🙂

pas tout suivi, mais fonctionne ainsi chez moi sous 2003, code placé dans le module de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target - Int(Target) < 0.05 Then
    Target.NumberFormat = "0 000"" kg"""
  Else
    Target.NumberFormat = "0 000.0"" kg"""
  End If
End Sub

A noter, remplacer les séparateurs de milliers (espace) par une virgule le cas échéant...

bonne soirée
@+
 
Re : Format de cellule personnalsé

Re,

comme ceci peut être, mais c'est à utiliser dans le module de la feuille concernée

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("E24:E44")) Is Nothing Then
    If Target - Int(Target) < 0.05 Then
        Target.NumberFormat = "0 000"" kg"""
    Else
        Target.NumberFormat = "0 000.0"" kg"""
    End If
End If
End Sub

@+

Edit : modifier "nothing" en lieu et place de "notheng"
 
Dernière édition:
Re : Format de cellule personnalsé

Bonjour Anna, PierreJean

essaye ainsi, controle 2 plages de données, mais sur la même feuille, pour contrôler une 2ème feuille il y aura lieu de placer le code dans le module des 2 feuilles ou bien 1 seul fois dans le module "thisworkbook" en utilisant l'événement "Workbook_SheetChange" :

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("E24:E44,E87:E100")) Is Nothing Then
    If Target - Int(Target) < 0.05 Then
        Target.NumberFormat = "0 000"" kg"""
    Else
        Target.NumberFormat = "0 000.0"" kg"""
    End If
End If
End Sub

bonne journée
@+
 
- 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
11
Affichages
774
Réponses
3
Affichages
838
Retour