Microsoft 365 remplacer les espaces dans une chaine par 123456 etc

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Je cherche une formule pour remplacer les espaces dans une cellule :
(sans faire intervenir la position de l'espace)

Par exemple j'ai :
aaa bbbb ccccc dddeee eeeeeee fff etc

Je voudrais obtenir :
aaa1bbbb2ccccc3dddddd4eeeeeee5fff etc

Auriez-vous la solution ?
Un grand merci,
lionel :)
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-JM,
Merci ça à l'air super :)
VB:
Sub Bus()
a = [b2]
b = Split(a)
For i = 0 To UBound(b)
c = c & b(i) & i + 1
Next
MsgBox Left(c, Len(c) - 2)
End Sub
J'ai commencé à la cellule B2
Au lieu d'avoir un MsgBox, on peut avoir le résultat dans une cellule à droite de chaque cellule col B traitée par exemple en col D ?
:)
 

Staple1600

XLDnaute Barbatruc
Re,

La même, mais transformée en fonction personnalisée
VB:
Function outtaspace(r As Range)
Dim i As Byte
b = Split(r.Value2)
For i = 0 To UBound(b)
c = c & b(i) & i + 1
Next
outtaspace = Left(c, Len(c) - 2)
End Function
A utiliser de la sorte
Si on en A1: aaa bbb ccc ddd eee fff
alors en B1, saisir =outtaspace(A1)

Je laisse les formulistes proposer la formule qui se passera de VBA.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re,

Fonction personnalisée:
VB:
Function EspaceNombre(ByVal x) As String
Dim n&, i&
 For i = 1 To Len(x)
   If Mid(x, i, 1) = " " Then n = n + 1: x = Replace(x, " ", n, , 1)
   ext i
   EspaceNombre = x
End Function
Re-Bonjour Mapomme,
Merci pour ton code mais ça beugue :)
1645284967170.png

lionel :)
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 227
Membres
103 159
dernier inscrit
FBallea