Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 remplacer les espaces dans une chaine par 123456 etc

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
Re

Adapté d'une formule de R@chid
Elle ne fait pas le job demandé, mais comme je la trouve jolie, je publie
(mais je sens qu'elle pourrait te servir, Lionel, non ? 😉)
La formule en B2
Code:
=SIERREUR(INDEX(FILTRE.XML("<a><b>"&SUBSTITUE($A1;" ";"</b><b>")&"</b></a>";"//b");COLONNES($C:C));"")
A valider matriciellement pour Excel 2013
Recopie vers la droite puis vers le bas
 
Bonsoir
ça pourrait être la petite sœur de SUBSTITUEX

VB:
Function SubstituePos(ByVal Cell As Range, ByVal Char As String, Optional ByVal arrays As Variant = "")
 'patrictoulon
Dim t,i&: t = Split(Cell.Text, " ")
    If Not IsArray(arrays) Then
        arrays = Evaluate("COLUMN(" & Cells(1).Resize(, UBound(t) + 1).EntireColumn.Address(0, 0) & ")")
    Else
        arrays = Application.Transpose(arrays)
    End If
    For i = 0 To UBound(t):        t(i) = t(i) & arrays(i&+ 1):    Next
    SubstituePos = Join(t, "")
End Function


juste comme ça en passant
bien sur on peut laisser des item vide "" si on veut le nieme etc......
 
merci JM pour ce que tu fais pour moi. Je prends aussi cette formule 🙂
 
Merci Patrick, je regarde dès que j'ai un moment 🙂
 
Bonjour Lionel, le fil, le forum,

A partir d'Excel 2016 je crois il existe la fonction JOINDRE.TEXTE.

Voyez le fichier joint et cette formule matricielle en B1 :
Code:
=JOINDRE.TEXTE("";VRAI;SIERREUR(STXT($A1;deb;fin-deb)&rang;""))
Il faut auparavant sélectionner B1 et définir les 4 noms mat deb fin rang comme indiqué.

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…