Comment diviser les champs d'une chaine en Excel

Fermé
Bou6Fedi Messages postés 10 Date d'inscription mercredi 23 décembre 2015 Statut Membre Dernière intervention 6 janvier 2016 - 23 déc. 2015 à 14:42
Bou6Fedi Messages postés 10 Date d'inscription mercredi 23 décembre 2015 Statut Membre Dernière intervention 6 janvier 2016 - 23 déc. 2015 à 17:07
Bonjour je suis débutant en Excel et je veux savoir s'il existe une fonction/ une macro qui me permet de diviser les champs d'une chaîne de caractère;
je m'explique, la cellule A1 contient par exemple BLABLABLA je veux ecrire une fonction qui permet de separer chaque 2 caracteres ensemble. C'est a dire je veux avoir en sortie dans la cellule B1 les données suivantes :BL, AB, LA, BL, A
A voir également:

3 réponses

ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
23 déc. 2015 à 14:52
Bonjour

Ton texte en A2
On débute les extractions en B2
=STXT($A$2;2*COLONNE()-3;2)
à tirer vers la droite

Cdlmnt
1
Bou6Fedi Messages postés 10 Date d'inscription mercredi 23 décembre 2015 Statut Membre Dernière intervention 6 janvier 2016
23 déc. 2015 à 17:07
ca c'est la macro que j'ai utilisé pour résoudre le problème
Sub splitData()
Dim I As Integer
Dim data As String
Dim result As String
Dim extract As String

data = Range("A1")
For I = 1 To Len(data) Step 2
extract = Mid(data, I, 2)
'Ajouter une virgule apres chaque extrait
If I < Len(data) - 1 Then
extract = extract & ", "
End If
'Concatener
result = result & extract
Next I
Range("B2") = result
End Sub


Un grand merci a tout
0
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
23 déc. 2015 à 14:46
Bonjour,

'5 est la position du caractère qui marque le début de la partie à extraire
'et 2 correspond au nombre de caractères à renvoyer)
MsgBox Mid("Vendredi", 5, 2) ' renvoie "re"

Si tu as des questions hésite pas
a +
-1
Bou6Fedi Messages postés 10 Date d'inscription mercredi 23 décembre 2015 Statut Membre Dernière intervention 6 janvier 2016
Modifié par Bou6Fedi le 23/12/2015 à 15:01
Merci Pierre pour ta réponse, pour moi je ne veux pas que ca soit dans un MsgBox je veux que les caracteres soit separés 2 a 2 et mis dans une autre cellule. Déjà une question me vient a l'esprit est ce qu'on peut créer une macro en VBA puis l'appeler a partir d'une cellule par exemple on crée une fonction maFct puis apres dans la cellule B1 on écrit "= maFct ", sinon qu'elle est la manière d'appeler une macro VBA a partir d'une cellule
0
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
23 déc. 2015 à 15:01
Tu n'as pas compris je pense, c'était juste pour t'inspirer, ce qui est écris dans le msgbox peux très bien aller dans une cellule
0
Bou6Fedi Messages postés 10 Date d'inscription mercredi 23 décembre 2015 Statut Membre Dernière intervention 6 janvier 2016 > Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020
23 déc. 2015 à 15:18
Ok je vois ce que tu veux me dire, juste est ce que tu peux m'aider sur la deuxieme question cad appeler une macro VBA a partir d'une cellule au lieu de cliquer Lancer la macro a chaque fois ?
0
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
23 déc. 2015 à 15:28
Ce que tu peux faire c'est créer un bouton avec les formes par exemple un rectangle qui ressemble à un bouton puis tu fais clic droit et affecter une macro
0
Bou6Fedi Messages postés 10 Date d'inscription mercredi 23 décembre 2015 Statut Membre Dernière intervention 6 janvier 2016
23 déc. 2015 à 16:37
Ok je vois merci bien pierre, mais si je veux propager cet appel de macro N fois je dois alors creer N boutons c'est pas jolie.
0