Modifier le contenu d'un nombre

Bonsoir à tous,

Besoin de votre aide pour modifier un nombre exemple 311 le convertir en 113 etc..

Merci pour vos réponses.

Papou philturf

bonsoir,

une proposition, le nombre transformé se trouve dans une autre colonne.

pour remplacer un nombre par un autre dans une même cellule, il faudra passer par VBA, powerquery ou faire le changement via un chercher/remplacer.

Bonjour ,

En regardant le classeur joint, j'ai déduit autre chose. Mais ce n'est sans doute qu'une coïncidence et qu'un fruit de mon imagination.

A partir d'un nombre N, on construit un autre nombre N' qui a les propriété suivantes : N' est composé des mêmes chiffres que N mais les chiffres sont triés du plus petit au plus grand (le plus petit à gauche, le plus grand à droite).

Dans ce cas, on peut utiliser la formule suivante :

=1*JOINDRE.TEXTE("";VRAI;PETITE.VALEUR(--STXT(A4;NBCAR(A4)+1-LIGNE(INDIRECT("1:"&NBCAR(A4)));1);LIGNE(INDIRECT("1:"&NBCAR(A4)))))
  1. Il faut que la version d'Excel dispose de la fonction Joindre.Texte() (ce doit être le cas pour Excel 2019).
  2. Il se peut que sur Excel 2019 cette formule soit une formule de type matricielle à valider par la combinaison des trois touches Ctrl+Maj+Entrée. Les dernières versions d'Excel peuvent utiliser une validation ordinaire (touche Entrée). Ne disposant pas d'une version 2019, je ne peux pas vérifier ce point.
image

Re,

Concernant le remplacement d'un nombre au sein de sa cellule, alors il n'y a pas d'autres manières que celles énoncées par h2so4 que je salue .

Si l'interprétation de h2so4 est la bonne, il faut, me semble-t-il, prendre quelques précautions quant à la manière de procéder aux remplacements.

Imaginons qu'on veuille remplacer les 312 par 123 et les 123 par 222 alors les méthodes de remplacement devront être un peu plus sioux.

  1. Sur une plage, on remplace d'abord 312 par 123
  2. Ensuite sur cette même plage, on remplace 123 par 222

Le résultat final sur la plage est que les 312 auront été aussi remplacés par 222 (et impossible de revenir à la situation initiale).

Bonjour,

Une proposition de macros/UDFs pour renvoyer un miroir du nombre/texte initial :

Public Function mirrorStr(text As String) As String
  Dim newTxt As String, i as Long
  For i = Len(text) To 1 Step -1
    newTxt = newTxt & Mid(text, i, 1)
  Next i

  mirrorStr = newTxt
End Function

Private Sub mirrorRng(rng As Range)
  Dim cell As Range
  For Each cell In rng
    cell.Value2 = mirrorStr(CStr(cell.Value2))
  Next cell
End Sub

Public Sub mirrorSelection()
  mirrorRng Selection
End Sub

Bonjour à tous,

Merci pour vos réponses qui fonctionnent toutes.

A si j'étais jeune !!!!

Philturf

Rechercher des sujets similaires à "modifier contenu nombre"