FORMAT DE CELLULE PERSONNALISE

patouman

XLDnaute Occasionnel
Bonjour a tous,
je bute sur un probleme de format de cellule :
je dois saisir un nombre de 19 caracteres (qui peut etre considéré comme texte)
et je souhaiterais qu'il apparaisse de la maniere suivante :
################ ### (dont les 3 derniers caractères en rouge)

au départ cela me semblait facile avec le format personnalisé, mais en fait non.......

quelqu'un peut il m'aider ????
 

Pièces jointes

  • ESSAI.xls
    13.5 KB · Affichages: 33

vgendron

XLDnaute Barbatruc
Hello

pour l'affichage avec les trois derniers chiffres "séparés", utilise le format personnalisé suivant:
##########_####

pour colorer juste les 3 derniers caractères.. j'ai l'impression que ce n'est pas possible par format personnalisé.. mais plutot en en MFC ou macro..
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Résumons nous:
Vous butez sur un problème de valeur texte de cellule et de couleur
Vous devez saisir 19 chiffres, donc obligatoirement en texte, car si Excel le voit comme un nombre il n'en conservera qu'une valeur approchée dont il n'affichera que les 15 1ers chiffres décimaux autres que 0 quel que soit le format de nombre de la cellule.
Cette procédure Txt16Nb3R normalise comme demandé la cellule spécifiée en paramètre
VB:
Sub test()
Txt16Nb3R [B3]
End Sub
Sub Txt16Nb3R(ByVal Cel As Range)
Dim Txt As String
Txt = Replace(Cel.Text, " ", "")
Application.EnableEvents = False
Cel.Value = "'" & Left$(Txt, 16) & " " & Mid$(Txt, 17)
Cel.Font.Color = 0
Cel.Characters(Start:=18, Length:=3).Font.Color = &HFF&
Application.EnableEvents = True
End Sub

Exemple d'utilisation de la procédure dans un module d'objet Worksheet :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Or Target.Column <> 1 Then Exit Sub
Txt16Nb3R Target
End Sub
 
Dernière édition:

patouman

XLDnaute Occasionnel
Merci beaucoup Dranreb pour ta reponse, mais peux tu m'indiquer ou placer cette macro sur mon fichier "ESSAI" de mon message initial ?
de plus dans ta macro je ne vois pas de coordonnées de cellules pour indiquer où le champ d'action, j'ai donc du mal a tout saisir
désolé de t'embêter ..... :(
 

Dranreb

XLDnaute Barbatruc
La Sub Txt16Nb3R dans un module standard,
La Worksheet_Change dans le module propre à la feuille.
La cellule concernée est indiquée en paramètre, comme la petite Sub test (que vous pouvez supprimer) en faisait l'essai sur la cellule B3.
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
525

Statistiques des forums

Discussions
312 243
Messages
2 086 549
Membres
103 245
dernier inscrit
gdesign