Décomposition de string - macro
Fermé
philip.dang
Messages postés
35
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
1 septembre 2011
-
20 juil. 2011 à 16:16
philip.dang Messages postés 35 Date d'inscription jeudi 7 juillet 2011 Statut Membre Dernière intervention 1 septembre 2011 - 21 juil. 2011 à 12:11
philip.dang Messages postés 35 Date d'inscription jeudi 7 juillet 2011 Statut Membre Dernière intervention 1 septembre 2011 - 21 juil. 2011 à 12:11
A voir également:
- Décomposition de string - macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro word - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Vba concatenate string and integer ✓ - Forum VB / VBA
1 réponse
tchernosplif
Messages postés
600
Date d'inscription
dimanche 8 novembre 2009
Statut
Membre
Dernière intervention
21 juin 2015
245
20 juil. 2011 à 17:54
20 juil. 2011 à 17:54
Bonjour,
Je vous propose une solution sans macro (jusqu'à 3 espaces), l'exemple ne prends pas en compte les ' , mais l'idée est là.
cellule A1:
apprendre à lire correctement
cellule B1:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;" ";"$";1);" ";"£";1);" ";"%";1)
renvoie: apprendre$à£lire%correctement
cellule C1:
=STXT(B1;1;CHERCHE("$";B1;1)-1)
renvoie: apprendre
cellule D1:
=STXT(B1;CHERCHE("$";B1;1)+1;CHERCHE("£";B1;1)-(CHERCHE("$";B1;1)+1))
renvoie: à
cellule E1:
=STXT(B1;CHERCHE("£";B1;1)+1;CHERCHE("%";B1;1)-(CHERCHE("£";B1;1)+1))
renvoie: lire
cellule F1:
=DROITE(B1;NBCAR(B1)-CHERCHE("%";B1;1))
renvoie: correctement
NB: si il y a moins de 4 mots, il faut rajouter un espace à la fin)
J'essaierai de vous liver une solution complète, si personne ne vous aide avec une macro, mais je manque de temps.
Je vous propose une solution sans macro (jusqu'à 3 espaces), l'exemple ne prends pas en compte les ' , mais l'idée est là.
cellule A1:
apprendre à lire correctement
cellule B1:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;" ";"$";1);" ";"£";1);" ";"%";1)
renvoie: apprendre$à£lire%correctement
cellule C1:
=STXT(B1;1;CHERCHE("$";B1;1)-1)
renvoie: apprendre
cellule D1:
=STXT(B1;CHERCHE("$";B1;1)+1;CHERCHE("£";B1;1)-(CHERCHE("$";B1;1)+1))
renvoie: à
cellule E1:
=STXT(B1;CHERCHE("£";B1;1)+1;CHERCHE("%";B1;1)-(CHERCHE("£";B1;1)+1))
renvoie: lire
cellule F1:
=DROITE(B1;NBCAR(B1)-CHERCHE("%";B1;1))
renvoie: correctement
NB: si il y a moins de 4 mots, il faut rajouter un espace à la fin)
J'essaierai de vous liver une solution complète, si personne ne vous aide avec une macro, mais je manque de temps.
Modifié par tchernosplif le 21/07/2011 à 02:39
Voici un fichier d'exemple plus abouti, sans macro, en prenant en compte les apostrophes ' (ceux avec un espace devant ou derrière ^^) et sans limitation du nombre de mots.
http://www.cijoint.fr/cjlink.php?file=cj201107/cij74l3FJI.xls
SI vous avez besoin de plus de mots, vous pouvez avec la même logique copier/coller les colonnes vertes (4 par 4) et la "colonne intermédiaire" vers la droite .
NB: certaines colonnes sont volontairement cachées, certaines formules pourraient être simplifiées, avis aux amateurs.
21 juil. 2011 à 12:11