Connaitre le nombre de caractère entre deux symboles

Bonjour,

Je recherche une formule ou macro VBA qui puisse mettre les chiffres entre les virgules sous 5 digits :

  • Si nombre de caractère entre deux virgules = 1, mettre 0000 devant le chiffre
  • Si nombre de caractère entre deux virgules = 2, mettre 000 devant le chiffre
  • Si nombre de caractère entre deux virgules = 3, mettre 00 devant le chiffre
  • Si nombre de caractère entre deux virgules = 4, mettre 0 devant le chiffre

En sachant que l’on peut avoir plusieurs styles de cellule.

Exemple :

A1 => ,5,71,220,223,238,244,9006

A2 => ,5,

A3 => ,223,238,244

A4 => ,4,5,6,244

A5 => ,4,5,6,8,9,12,244

Résultat que je cherche :

A1 => ,00005,00071,00220,00223,00238,00244,009006

A2 => ,00005,

A3 => ,00223,00238,00244

A4 => ,00004,00005,00006,00244

A5 => ,00004,00005,00006,00008,00009,00012,00244

Pour l’instant j’utilise cette formule, mais elle ne me satisfait pas vraiment :

=SUBSTITUE(A2;",";",00")

9test.xlsm (351.55 Ko)

Bonjour Alex_Excel,

Voici un essai en pièce jointe.

20test-1.xlsm (361.19 Ko)

Cordialement

Comment dire, rapide et efficace => C'est juste parfait, merci !

Bonjour,

Une fonction personnalisée (code à coller dans un module standard de l'éditeur VBA, accessible via ALT + F11) :

Function FiveDigits(ListeNombres As Range) As String

Dim i As Integer, Tableau() As String, Res As String

Tableau = Split(ListeNombres, ",")
For i = LBound(Tableau) To UBound(Tableau)
    If Tableau(i) Like "#*" Then Res = Res & "," & Format(Tableau(i) * 1, "00000")
Next i
If Res <> "" Then Res = Res & ","
FiveDigits = Res

End Function

A utiliser ensuite comme une fonction classique :

=FiveDigits(A2)

Edit : salut Florian53 !

Bonjour,

Je recherche une macro VBA qui puisse mettre les chiffres entre les virgules sous 5 digits dans un nouveau fichier Excel sous le format .CSV :

  • Si nombre de caractère entre deux virgules = 1, mettre 0000 devant le chiffre
  • Si nombre de caractère entre deux virgules = 2, mettre 000 devant le chiffre
  • Si nombre de caractère entre deux virgules = 3, mettre 00 devant le chiffre
  • Si nombre de caractère entre deux virgules = 4, mettre 0 devant le chiffre

En sachant que l’on peut avoir plusieurs styles de cellule.

Exemple :

A1 => 5,71,220,223,238,244,9006

A2 => 5,

A3 => 223,00238,00244

A4 => 00022,00030,00400

A5 => 293,004

Résultat que je cherche :

A1 => 00005,00071,00220,00223,00238,00244,009006

A2 => 00005,

A3 => 00223,00238,00244

A4 => 00022,00030,00400

A5 => 00293,00004

7test-1.xlsm (361.19 Ko)

Bonjour,

Je n'ai pas bien saisie la différence avec ta problématique précédente... Il te suffit d'appliquer l'une des solution proposées, puis d'enregistrer le fichier au format CSV (ce qui fait disparaître formules et macros).

Ma demande à changé:

Je souhaite une macro qui ouvre un nouveau fichier excel en .CSV et qu'il me mette tout les éléments de la colonne A, sous 5 digits, car quand j'enregistre en .CSV, mon chiffre qui était par exemple 00250, devient 250.

Mon format final doit être en .CSV.

J'ai beau mettre des formule, changer le format des cellules, rien de change.

bonjour,

bonjour pedro22,

une proposition

95chiffres.xlsm (18.01 Ko)
Rechercher des sujets similaires à "connaitre nombre caractere entre deux symboles"