VBA Mettre en forme des données avec slash

Xlcium

XLDnaute Nouveau
Bonjour,

Problématique VBA.
Cela fait plusieurs heures que je cherche sur le forum, je n'ai pas réussi à adapter des éléments de réponses à ma problématique.

J'ai une liste de chiffres comme ceci dans une colonne

2271279/1/1
10772/5295/2
10772/5660/1
443417/9/2
401919/18019/10

je voudrais les mettre en forme sous ce format: "00000000"/"00000", en supprimant les données après le deuxième slash.
bien sûr les données après le 1er slash sont variables de 1 à 5 caractères.



ce qui donnerait

02271279/00001
00010772/05295
00010772/05660
00443417/00009
00401919/18019

J'ai essayé quelque chose comme ça

Range(Maplage).NumberFormat = "00000000" & "/" & "00000"

mais ça ne fonctionne pas.

Pouvez vous m'aider à mettre un code VBA adéquat ?

Par avance, merci beaucoup.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : VBA Mettre en forme des données avec slash

Bonsoir Xlcium,

Une piste. Code à insérer dans le module de la feuille contenant vos données. J'ai supposé que les données sont en colonne A et débutent à la ligne n° 2.
Code:
Sub MiseEnForme()
Dim xRg As Range, Vals, i As Long
    Set xRg = Range(Cells(2, "a"), Cells(Rows.Count, "a").End(xlUp))
    Vals = xRg.Value
    For i = 1 To xRg.Rows.Count
        On Error Resume Next
        Vals(i, 1) = Format(Split(Vals(i, 1), "/")(0), "00000000") & Format(Split(Vals(i, 1), "/")(1), """/""00000")
    Next i
    On Error GoTo 0
    xRg.Value = Vals
End Sub
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : VBA Mettre en forme des données avec slash

Bonjour Xlcium


Une fonction personnalisée :
VB:
Function forme$(s$)
Dim x
    Application.Volatile
    On Error Resume Next
    x = Split(s, "/")
    forme = Format(x(0), "00000000/") & Format(x(1), "00000")
End Function
=forme("401919/18019/10") renvoie 00401919/18019.


ROGER2327
#5708


Samedi 7 Clinamen 139 (La Main de Gloire - Vacuation)
9 Germinal An CCXX, 7,1761h - aulne
2012-W13-4T17:13:21Z
 

ROGER2327

XLDnaute Barbatruc
Re : VBA Mettre en forme des données avec slash

Suite...

J'ai oublié le classeur qui va avec...


ROGER2327
#5709


Samedi 7 Clinamen 139 (La Main de Gloire - Vacuation)
9 Germinal An CCXX, 7,2387h - aulne
2012-W13-4T17:22:23Z
 

Pièces jointes

  • XLD_181571.xlsm
    13.5 KB · Affichages: 40

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 350
Membres
103 194
dernier inscrit
rtison