Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…