Changer l'ordre des chiffres contenus dans une cellule
Résolu
PsyKoptiK
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
PsyKoptiK Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
PsyKoptiK Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais déplacer des chiffres contenus dans une cellule.
En effet si j'ai une cellule contenant une valeur, j'aimerais pouvoir avoir une formule qui me permettrait de renverser cette valeur, soit :
0123456789 --> 9876543210
Par la même occasion je souhaiterais aussi pourvoir intercaler les chiffres en les faisant pivoter, c'est-à-dire :
123456789 --> 2947658301
A l'avance, merci beaucoup !
Cordialement,
PsyKoptiK
Je souhaiterais déplacer des chiffres contenus dans une cellule.
En effet si j'ai une cellule contenant une valeur, j'aimerais pouvoir avoir une formule qui me permettrait de renverser cette valeur, soit :
0123456789 --> 9876543210
Par la même occasion je souhaiterais aussi pourvoir intercaler les chiffres en les faisant pivoter, c'est-à-dire :
123456789 --> 2947658301
A l'avance, merci beaucoup !
Cordialement,
PsyKoptiK
A voir également:
- Changer l'ordre des chiffres contenus dans une cellule
- Changer dns - Guide
- Excel trier par ordre croissant chiffre - Guide
- Aller à la ligne dans une cellule excel - Guide
- Changer carte graphique - Guide
- Excel cellule couleur si condition texte - Guide
4 réponses
Bonjour,
c'est possible en passant par une macro.
pour le premier cas j'ai compris la logique mais pas le deuxième.
de plus, veux tu en premier inverser puis intercaler ou est ce independant ?
pour le premier cas :
Sub test()
Dim x, y As String
x = CStr(ActiveCell.Value)
l = Len(x)
For i = l To 1 Step -1
y = y & Mid(x, i, 1)
Next i
ActiveCell.Value = Val(y)
End Sub
c'est possible en passant par une macro.
pour le premier cas j'ai compris la logique mais pas le deuxième.
de plus, veux tu en premier inverser puis intercaler ou est ce independant ?
pour le premier cas :
Sub test()
Dim x, y As String
x = CStr(ActiveCell.Value)
l = Len(x)
For i = l To 1 Step -1
y = y & Mid(x, i, 1)
Next i
ActiveCell.Value = Val(y)
End Sub
Bonjour
Un peu plus simple pour la premiere et une proposition pour la seconde
Cdlmnt
Un peu plus simple pour la premiere et une proposition pour la seconde
Public Function renverse(c) renverse = Val(StrReverse(c)) End Function Public Function renverse1(c) Dim k As Long, cc2 As String, cc1 As String, cc As String cc2 = "" cc1 = "" For k = 1 To Len(c) If k Mod 2 = 0 Then cc2 = cc2 & Mid(c, k, 1) Else cc1 = cc1 & Mid(c, k, 1) End If Next k cc1 = StrReverse(cc1) If Len(cc2) <> Len(cc1) Then cc2 = cc2 & " " cc = "" For k = 1 To Len(cc1) cc = cc & Mid(cc2, k, 1) & Mid(cc1, k, 1) Next k cc = Replace(cc, " ", "") renverse1 = Val(cc) End Function
Cdlmnt