Macro VBA / formule pour ajouter des espaces fixes dans une cell
Résolu
totocochcoch
Messages postés
3
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
j'ai pas mal regardé les forums mais je ne trouve pas exactement ce que je recherche, peut être que l'un d'entre vous pouvez peut-être m'aider :
j'ai une chaine de caractère dans une cellule (chiffres + lettres) et je souhaite pouvoir visualiser des espaces à des endroits bien précis sans avoir à taper les espaces.
mes cellules contiennent uniquement 16 caractères (des chiffres + lettres)
ex : je saisis 1CV5ALPVD5V37410 et je souhaite que dans mon fichier les cellules apparaissent toujours découpées comme suit : 1CV5 AL P VD 5 V3 74 10 ce découpage ne change pas --> 3 c" "2 c" "1 c" "2 c" "1 c" "2 c" "2 c" "2 c
si je n'avais que des chiffres, je pourrais faire un format personnalisé sans aucun problème, mais le fait qu'il y ait des chiffres et/ou des lettres, ce n'est pas possible...
Merci par avance pour une quelconque aide de votre part.
j'ai pas mal regardé les forums mais je ne trouve pas exactement ce que je recherche, peut être que l'un d'entre vous pouvez peut-être m'aider :
j'ai une chaine de caractère dans une cellule (chiffres + lettres) et je souhaite pouvoir visualiser des espaces à des endroits bien précis sans avoir à taper les espaces.
mes cellules contiennent uniquement 16 caractères (des chiffres + lettres)
ex : je saisis 1CV5ALPVD5V37410 et je souhaite que dans mon fichier les cellules apparaissent toujours découpées comme suit : 1CV5 AL P VD 5 V3 74 10 ce découpage ne change pas --> 3 c" "2 c" "1 c" "2 c" "1 c" "2 c" "2 c" "2 c
si je n'avais que des chiffres, je pourrais faire un format personnalisé sans aucun problème, mais le fait qu'il y ait des chiffres et/ou des lettres, ce n'est pas possible...
Merci par avance pour une quelconque aide de votre part.
A voir également:
- Macro VBA / formule pour ajouter des espaces fixes dans une cell
- Espaces insécables - Guide
- Formule si et - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
4 réponses
Bonjour,
Avec cette fonction sur une autre colonne tu obtiens ta présentation pour ton code en A1 :
Pour le faire sur la même cellule, il faut passer par une macro, me semble-t-il.
Avec cette fonction sur une autre colonne tu obtiens ta présentation pour ton code en A1 :
=STXT(A1;1;4)&" "&STXT(A1;5;2)&" "&STXT(A1;7;1)&" "&STXT(A1;8;2)&" "&STXT(A1;10;1)&" "&STXT(A1;11;2)&" "&STXT(A1;13;2)&" "&STXT(A1;15;2)
Pour le faire sur la même cellule, il faut passer par une macro, me semble-t-il.
Bonjour,
Wahou quelle rapidité ! merci beaucoup Gbinforme pour votre aide mais je recherche la solution pour le faire dans la même cellule à l'aide d'une macro si c'est possible.
Merci pour votre aide.
Wahou quelle rapidité ! merci beaucoup Gbinforme pour votre aide mais je recherche la solution pour le faire dans la même cellule à l'aide d'une macro si c'est possible.
Merci pour votre aide.
Bonjour,
dans la même cellule à l'aide d'une macro
Voici la macro à copier dans la feuille concernée :
Tu remplaces "A:A" par la colonne où tu saisi ton code.
Il faut que les 16 caractères soient saisis et si la mise en forme à été effectuée il n'y a pas de formatage en correction.
dans la même cellule à l'aide d'une macro
Voici la macro à copier dans la feuille concernée :
Private Sub Worksheet_Change(ByVal sel As Range)
If Not Intersect(sel, Range("A:A")) Is Nothing Then
Dim frm() As Variant, idx As Integer, pos As Integer, man As String
frm = Array(4, 2, 1, 2, 1, 2, 2, 2)
If Len(sel.Value) = 16 Then
Application.EnableEvents = False
For idx = 0 To UBound(frm)
man = man & Mid(sel.Value, pos + 1, frm(idx)) & " "
pos = pos + frm(idx)
Next idx
sel.Value = Left(man, Len(man) - 1)
Application.EnableEvents = True
End If
End If
End Sub
Tu remplaces "A:A" par la colonne où tu saisi ton code.
Il faut que les 16 caractères soient saisis et si la mise en forme à été effectuée il n'y a pas de formatage en correction.