Séparer chaines de caractéres

gimx

XLDnaute Junior
Bonjour,

J'ai une chaine de cractéres, par exemple : 1 2 3A 4A 5 6A
Je voudrais séparer la chaine dans deux cellules, une cellule avec les caractéres uniques, une autre avec les caractéres doubles.
Ce qui me donnerait : 1 2 5 et 3A 4A 6A.

Le souci que j'ai, c'est que les caractéres doubles ne sont pas à la même place suivant les cellules, je peux avoir 1 2 3A 4A 5 6A comme 1A 2 3 4A 5A 6 à la suivante, etc, etc.

Alors pour enlever les caractéres doubles, pas de problême avec les substitue etc, mais c'est l'inverse ou je cale.

Merci :)
 

dixit

XLDnaute Impliqué
Re : Séparer chaines de caractéres

bonjour,
voir proposition ci-jointe avec macro (la présentation de la macro n'est pas très "élégante" mais je n'ai pas le temps de la revoir ce soir ...)
 

Pièces jointes

  • ED75864gimx-separer chaine-.xls
    24 KB · Affichages: 355

gimx

XLDnaute Junior
Re : Séparer chaines de caractéres

Pas mal :)
Mais avec des formules, ça donne quoi ?
Ne le refait pas en formule si tu n'as pas le temps, pas grave :)
Juste tu me donnes la démarche et j'essaye de le refaire en formule.
Merci à toi ;)
 
C

Compte Supprimé 979

Guest
Re : Séparer chaines de caractéres

Salut Gimx, salut Dixit

Voilà un exemple avec une fonction crée pour ton exemple.

La fonction est : =SeparationCar(RefCellule;NombreDeCaractereASéparer)

Voilà ;)
 

Pièces jointes

  • Gimx_FonctionSéparationCaractère.xls
    29.5 KB · Affichages: 374

chris

XLDnaute Barbatruc
Re : Séparer chaines de caractéres

Bonjour
J'étais partie sur la même logique que Bruno mais j'ai fait plus court !
La fonction
Function Decoupe(x As Range, y As Integer)
t = Split(x, " ")
For I = 0 To UBound(t)
If Len(t(I)) = y Then Decoupe = Decoupe & t(I) & " "
Next I
Decoupe = Trim(Decoupe)
End Function


Permet de découper à l'endroit des espaces et de préciser le nombre de caractères à récupérer.
Donc mettre
=decoupe(A1;1) dans une colonne
=decoupe(A1;2) dans l'autre

Il faut utiliser Alt F11, séléctionner ton classeur dans le volet gauche et utiliser Insertion, Module.
Tu colles le code de la fonction dans le module 1 (double clic sur module1 puis copie dans le volet droit).

Cette fonction fait alors partie des fonctions Excel catégorie Personnalisés.
 

Discussions similaires

Réponses
7
Affichages
382

Membres actuellement en ligne

Statistiques des forums

Discussions
312 379
Messages
2 087 765
Membres
103 662
dernier inscrit
rterterert