Autres avez vous plus simple que ça (challenge)

patricktoulon

XLDnaute Barbatruc
Bonjour a tous
m’étant remis sur mes fonction perso (lettres/nombres )et vise et versa
je modifie un peu les écriture
je me demande si quelqu'un connait quelque chose de plus simple que ça

le but et d'obtenir une chaîne composé de sous chaîne de 3 chiffres

VB:
Sub test()
testing "1"
testing "22"
testing "8739"
testing 5378745
End Sub

Function testing(chaine As String)
chaine = Trim(Replace(Format("000" & chaine, Application.Rept("000 ", Len(chaine))), "000 ", ""))
Debug.Print chaine
End Function
résultat pour les exemple ci dessus
001
022
008 739
005 378 745
 

Dudu2

XLDnaute Barbatruc
Ou encore un poil plus simple: (Left ou String c'est le même principe)
VB:
Function testing2(chaine As String) As String
    'testing2 = Left("000", 2 - (Len(chaine) - 1) Mod 3) & Format(chaine, "#,##0")
    testing2 = String(2 - (Len(chaine) - 1) Mod 3, "0") & Format(chaine, "#,##0")
    Debug.Print testing2
End Function
 

patricktoulon

XLDnaute Barbatruc
re
@Syvanu
ce n'est pas ce que j'ai demandé le resultat
VB:
Function TestingSylvanu(chaine As String)
    TestingSylvanu = Right(Format(chaine, "#,##0"), (4 * Len(chaine) - 1) / 3)
Debug.Print Right(Format(chaine, "#,##0"), (4 * Len(chaine) - 1) / 3)


End Function
Sub test()
    TestingSylvanu "1"
    TestingSylvanu "10"
    TestingSylvanu "100"
    TestingSylvanu "1000"
    TestingSylvanu "10000"
    TestingSylvanu "100000"
    TestingSylvanu "1000000"
    TestingSylvanu "1000000000"
   
End Sub

resultat dans le debug
1
10
100
1 000
10 000
100 000
1 000 000
1 000 000 000
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
La mienne rectifiée. Elle semble correcte et la plus rapide, mais perd en longueur de texte.
VB:
Function TestingSylvanu(chaine As String)
   TestingSylvanu = Right(Format(chaine, "000 000 000"), Choose(Len(chaine), 3, 3, 3, 7, 7, 7, 11, 11, 11))
End Function
@patrick, pour moi aussi celle de Dudu marche. Voir tableau PJ. Ou alors quelque chose m'a échappé.
 

Pièces jointes

  • PatrickToulon2.xlsm
    20.8 KB · Affichages: 1

Statistiques des forums

Discussions
312 215
Messages
2 086 319
Membres
103 177
dernier inscrit
grizly