Format texte sur Excel 2003

  • Initiateur de la discussion Initiateur de la discussion amcor
  • 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 !

A

amcor

Guest
Bonjour, j'ai un problème avec un format texte sur Excel 2003.

Je voudrais que l'on puisse saisir dans une cellule un texte sans espace comme suit :

CWF000101F
mais qu'après validation de la saisie le format du texte soit :

C WF 0001 01 F
Je veux en fait rajouter automatiquement un format incluant des espaces.

Merci de votre aide
 
Re : Format texte sur Excel 2003

Salut,

Si tu n'est pas un pro en VBA, une solution avec une formule.

Exemple : ton code en cellule A1

Tu places cette formules en B1 et tu peux faire un collage spécial valeur ensuite :
=GAUCHE(A1;1)&" "&GAUCHE(DROITE(A1;9);2)&" "&GAUCHE(DROITE(A1;7);4)&" "&GAUCHE(DROITE(A1;3);2)&" "&DROITE(A1;1)

Bon courage
 
Re : Format texte sur Excel 2003

Jerome,

Pour info STXT, permet d'éviter les GAUCHE/DROITE
Voir fichier que j'avais joint dans mon Fil.

=CONCATENER(GAUCHE(A1;1);" ";STXT(A1;2;2);" ";STXT(A1;4;4);" ";STXT(A1;8;2);" ";STXT(A1;10;1))
 
Re : Format texte sur Excel 2003

Bonjour,

Comme demandé par PASCAL76, je remets ici le principe donné sur l'autre fil.

Si cellule différente la chaîne étant en C4 par exemple :

=STXT(C4;1;1) & " "& STXT(C4;2;2) & " "& STXT(C4;4;4)& " "& STXT(C4;8;2)& " "& STXT(C4;10;1)

Si cela doit se faire dans la même cellule C4 , il faut passer en VBA, en utilisant MID. J'avais fait:

Option Explicit

Dim Chaîne As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Chaîne = Range("C4").Value
Range("C4").Value = Mid(Chaîne, 1, 1) & " " & Mid(Chaîne, 2, 2) & " " & Mid(Chaîne, 4, 4) & " " & Mid(Chaîne, 8, 2) & " " & Mid(Chaîne, 10, 1)
End Sub

Cela fonctionne mais il y a modification si l'on clique ailleurs ensuite !

Je regarde, mais je ne trouve plus l'évènement pour lancer seulement si modif de la cellule ! Si quelqu'un peut corriger, merci d'avance.

Cordialement
 
Re : Format texte sur Excel 2003

En VBA, en restant en C4 :

Option Explicit

Dim chaîne As String

Private Sub Worksheet_SelectionChange(ByVal Target As range)
If Target.Address = "$C$5" Then ' si cible = cellule sélectionnée après un ENTER
chaîne = range("C4").Value
range("C4").Value = Mid(chaîne, 1, 1) & " " & Mid(chaîne, 2, 2) & " " & Mid(chaîne, 4, 4) & " " & Mid(chaîne, 8, 2) & " " & Mid(chaîne, 10, 1)
End If
End Sub
 
Re : Format texte sur Excel 2003

amcor à dit:
Je voudrais que l'on puisse saisir dans une cellule un texte sans espace comme suit : CWF000101F
mais qu'après validation de la saisie le format du texte soit : C WF 0001 01 F

Pour obtenir cela, il suffit de mettre une macro évenementielle sur la feuille concernée. Je te propose ceci :

Public curr As Range ' cellule courante saisie
Const plag = "F:F" ' plage de saisie à formater

Private Sub Worksheet_Change(ByVal sel As Range)
If Not Application.Intersect(sel, Range(plag)) Is Nothing Then
If curr Is Nothing Then
Call modif_format(sel)
Else
If Not curr = sel Then Call modif_format(sel)
End If
End If
End Sub

Sub modif_format(cel As Range) ' cellule saisie à formater
Set curr = cel
If Not Len(cel.Value) = 10 Then Exit Sub
cel.Value = Mid(cel.Value, 1, 1) & " " & Mid(cel.Value, 2, 2) & " " & Mid(cel.Value, 4, 4) & " " & Mid(cel.Value, 8, 2) & " " & Mid(cel.Value, 10, 1)
End Sub



Il suffit de modifier la valeur de la plage pour l'adapter à ton cas.
Dès que la saisie est validée, le format est mis en place.

Si tu corriges une saisie déjà formatée, il n'y a pas de modification.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

P
Réponses
8
Affichages
3 K
ptite sirene
P
C
Réponses
3
Affichages
2 K
claivier_58
C
C
Réponses
1
Affichages
2 K
claivier_58
C
M
Réponses
8
Affichages
2 K
Marypen2
M
Retour