Macro VBA / formule pour ajouter des espaces fixes dans une cell
Résolu
totocochcoch
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 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 excel pour additionner plusieurs cellules - Guide
- Formule moyenne excel plusieurs colonnes - Guide
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.