Changer l'ordre des chiffres contenus dans une cellule
Résolu
PsyKoptiK
Messages postés
29
Statut
Membre
-
PsyKoptiK Messages postés 29 Statut Membre -
PsyKoptiK Messages postés 29 Statut Membre -
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
- Changer extension fichier - 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