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

  • Initiateur de la discussion Initiateur de la discussion Xlcium
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

X

Xlcium

Guest
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.
 
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:
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
 
Re : VBA Mettre en forme des données avec slash

Bonsoir,

C'est une super piste!

C'est exactement ce que je voulais. J'espère que ça pourra servir à d'autres.

Bonne soirée
 
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

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

Bonjour,


Merci Roger2327 et merci mapomme. J'ai de quoi potasser. Vous avez été super réactifs !


MERCI ENCORE !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
Réponses
11
Affichages
1 K
A
L
Réponses
8
Affichages
2 K
LauLauR
L
B
Réponses
17
Affichages
3 K
benoitoleron
B
O
Réponses
20
Affichages
4 K
O
P
Réponses
5
Affichages
1 K
Pierre_0901
P
M
Réponses
0
Affichages
920
M
H
Réponses
12
Affichages
2 K
hervé_débutant
H
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…