Excel - traitement de données texte

gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   -  
gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un soucis :

j'ai une colonne qui contient des données textuelles, auquelles je souhaiterais rajouter le caractère "+" entre chaque élément.

Un exemple :

source		resultat souhaité
ab		a+b
ac		a+c
…		…
abc		a+b+c
hij		h+i+j
…		…
abcdefghij	a+b+c+d+e+f+g+h+i+j


c'est infaisable a faire a la main, j'ai plus de 500 lignes a faire.

Auriez vous une idée de comment faire ?
avec les fonctions de texte, je m'ne sors pas. j'ai pensé a VBA, mais ca fait 5 ans j'y ai pas touché, je serais incapable de faire la macro.

Merci d'avance...

---
a moins que vous ne m'expliquiez comment faire directement l'ensemble des traitements, c'est a dire :

j'ai 10 valeur : a,b,c,d,e,f,g,h,i,j
et je souhaite récupérer tous les croisements possibles des 2, 3, 4... 10 élements.

--> a+b , a+c, a+d .... b+c, b+d..... a+b+c, a+b+d, a+b+e .... etc.etc... jusqu'a a+b+c+d+e+fg+h+i+j

Merci à celui qui me sors de cette galère !

2 réponses

sncf Messages postés 122 Statut Membre 14
 
Bonjour

Essaye ceci

Sub xx()
Dim L As Integer, i As Integer, xx As String
Range("A1").Select 'se positionne sur la première cellule de la feuille active
Do Until IsEmpty(ActiveCell())
xx = "'" 'intialise xx
L = Len(ActiveCell.Value) 'longueur de la chaine de caractères
For i = 1 To L
If i = 1 Then
xx = xx & Mid(ActiveCell.Value, i, 1)
Else
xx = xx & "+" & Mid(ActiveCell.Value, i, 1)
End If
Next i
ActiveCell.Formula = xx 'met le résutlat dans la cellule active
ActiveCell.Offset(1, 0).Select 'passe au suivant
Loop

End Sub


0
gryzzly Messages postés 5220 Date d'inscription   Statut Contributeur Dernière intervention   1 336
 
resolu.

tout betement en remplacant a par a+, b par b+ ... et en recuperant
gauche(chaine; longueur_chaine - 1)


--edit--

lol, on s'est croisé...

merci pour ta réponse malgré tout !

0