Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Format personnalisé pour un texte

filiph79

XLDnaute Occasionnel
Bonjour,

je souhaite transformer 111222333A44 en 111 222 333 A44;

je sais le faire en réalisant une formule dans une cellule adjacente du type :
=GAUCHE(A1;3)&" "&STXT(A1;4;3)&" "&STXT(A1;7;3)&" "&DROITE(A1;3), avec 111222333A44 en A1
mais je souhaiterai le faire directement sur la formule saisie via un format personnalisé.

Le A dans le code fait que cette valeur est considérée comme du texte et je n'arrive pas a créer le code de format personnalisé.

le code serait 111222333444 je ferai un format personnalisé du type 000 000 000 000 .

Comment faire la même chose avec du texte ?

cordialement

Philippe
 

gilbert_RGI

XLDnaute Barbatruc
Bonjour,

peut-être avec cette petite fonction perso

VB:
Function tx(range)
    lg = Len(range)
    a = 3: b = 1
    For i = 3 To lg Step 3
        rg = rg + Mid(range, b, a) + " "
        b = b + 3
    Next
    If lg Mod 3 <> 0 Then rg = rg + Right(range, lg Mod 3)
    tx = rg
End Function
 

Pièces jointes

  • separation de caracteres.xlsm
    14.2 KB · Affichages: 40

sousou

XLDnaute Barbatruc
Bonjour a vous deux
En ajoutant ceci à la fonction de gilbert
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target = tx(Target)
Application.EnableEvents = True
End Sub
 

Discussions similaires

Réponses
8
Affichages
292
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…