Convertir des cellules contenant des immatriculations

Bonjour à tous

Je suis très très novice en excel et autres tableurs, je vous explique mon problème.

Je dois traiter un fichier contenant des immatriculations sous une forme brut :

0000AA00

AA000AA

000AAA00

0000AA00

AA000AA

J'aimerai obtenir les même données mais sous cette forme !

0000 AA 00

AA-000-AA

000 AAA 00

0000 AAA 00

AA-000-AA

Pour résumer, si le premier caractère est une lettre : ajouter un tiret entre le 2ème et 3ème et entre le 5ème et 6ème caractère (nombre total de caractères fixe à 7)

et si le premier caractère est un chiffre : mettre un espace avant la première lettre et après la dernière lettre (nombre total de caractères variables de 7 ou 8)

Si vous avez une formule magique je suis preneur

Merci beaucoup

Bonjour,

une solution via une fonction personnalisée, à copier dans un module et à utiliser de la manière suivante pour un numéro d'immatriculation en A1.

=fim(A1)

Function fim(r)
    If Left(r, 1) Like "#" Then
        k = 2
        While Mid(r, k, 1) Like "#"
            k = k + 1
        Wend
        s = Left(r, k - 1) & " "
        k1 = k
        While Mid(r, k1, 1) Like "[A-Z]"
            k1 = k1 + 1
        Wend
        s = s & Mid(r, k, k1 - k) & " "
        s = s & Right(r, Len(r) - k1 + 1)
        fim = s
    Else
        fim = Left(r, 2) & "-" & Mid(r, 3, 3) & "-" & Right(r, 2)
    End If
End Function
49ounga.xlsm (14.46 Ko)

Merci beaucoup h2SO4 pour ta réponse, cela marche bien dans le cas ou l'immatriculation commence par un chiffre.

Par contre si elle commence par une lettre, j'ai une erreur qui s'affiche #NOM?

Je sais pas d'où cela vient... j'avoue je suis perdu

Bonjour,

comme je ne parviens pas à reproduire l'erreur dont tu parles, peux-tu mettre un bout de ton fichier dans lequel on peut reproduire l'erreur ?

En fait j'ai l'erreur en ouvrant directement ton fichier... à y réfléchir cela provient certainement du logiciel que j'ai au travail ( libreoffice calc)

En effet, l'erreur doit venir de là.

essaie avec cette formule

=SI(GAUCHE(A1;1)<"A";SI(STXT(A1;4;1)<"A";GAUCHE(A1;4) & " " & STXT(A1;5;2);GAUCHE(A1;3) & " " & STXT(A1;4;3)) & " " & DROITE(A1;2);GAUCHE(A1;2) & "-" & STXT(A1;3;3) & "-" & DROITE(A1;2))
47ounga.xlsx (9.04 Ko)

Au top !

Merci beaucoup !

Rechercher des sujets similaires à "convertir contenant immatriculations"