Excel séparation d'un nombre à x chiffres

Résolu
jacko -  
 jacko -
Bonjour,

Je souhaite séparer un nb à x chiffre en x cellule avec cette fonction

Sub test()
For x = 1 To Len(ActiveCell)
ActiveCell.Offset(0, x) = Mid(ActiveCell, x, 1)
Next
End Sub

En faisant écrire la réponse de droite à gauche et pas l'inverse.

La longueur des chiffres étant aléatoire, le chiffre se trouvant dans la case 1, si on parle d'euros, peut-être 1 euro (unité), tout comme 10 euros (si deux chiffres), 100 (si 3 chiffres), etc.
J'aimerais pouvoir aligner les chiffres en partant de l'unité pour remonter au plus grand et pas l'inverse (situation actuelle)

Situation actuelle
Si nb = 10
alors
cellule 1 = 1
cellule 2 = 0
Si nb = 100
alors
cellule 1 = 1
cellule 2 = 0
cellule 3 = 0
Situation souhaitée
Si nb = 10
alors
cellule 1 = 0
cellule 2 = 1
Ainsi les unités sont toutes sur la même colonne (cellule 1), les dizaines aussi (cellule 2), etc.
Merci pour votre aide




A voir également:

3 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

On peut utiliser la fonction StrRreverse

Sub test()
inverse = StrReverse(ActiveCell)
nbre = Len(ActiveCell)
For x = 1 To nbre
     ActiveCell.Offset(0, x) = Mid(inverse, x, 1)
Next
End Sub

1
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,
Le nombre sera rentre ou ????
0
jacko
 
Merci michel.

Cette solution est la plus simple et la meilleure.

Je m'étais lancé en créant un vecteur et en lui donnant une taille sachant que je pouvais avoir au max 8 chiffres. Chaque chiffre s'écrivait ensuite dans une cellule.
0