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

Extraire les numéros des lignes de texte

  • Initiateur de la discussion Initiateur de la discussion centurion
  • Date de début Date de début

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 !

centurion

XLDnaute Junior
Bonjour les amis,

J'ai 1550 lignes sur la colonne "A" cette mise en forme de texte:

Quand j'ai le nom de l'auteur et plus d'une page:
Le titre du livre 23 Le nom de l'auteur 20-26

Quand j'ai le nom de l'auteur et une seule page:
Le titre du livre 23 Le nom de l'auteur 20

Quand je n'ai pas le nom de l'auteur et et plus d'une page:
Le titre du livre 23 20-26

Quand je n'ai pas le nom de l'auteur et une seule page:
Le titre du livre 23 20

J'aimerais avoir ça en colonnes séparées ?
23 ¦ Le titre du livre ¦ Le nom de l'auteur ¦ 20-26

En vous remerciant par avance
Cordialement
Centurion
 
Bonjour Kan3pz,

C'est presque ce que je voulais.
J'ai téléversé un fichier, pour que vous puissiez mieux comprendre.
En resumé : j'ai un index avec tout sur une colonne et je voudrais des colonnes séparées.

Avec mes remercîments
Cordialement
Centurion
 

Pièces jointes

Dernière édition:
Bonsoir,

C'est assez coriace de trouver des réponses à cette demande.

Bon, en cherchant, parce que c'est intéressant à conserver, un fichier qui doit correspondre mais :
- la macro traite les "-" comme des lettres donc les derniers caractères doivent faire l'objet d'un traitement particuliers pour aller rechercher le dernier espace.

Avant d'appuyer sur le rectangle, prévoir de sélectionner la zone svp sinon il y aura un message d'erreur (fonctionne avec une SELECTION).

Il y aura donc un peu de manip" à faire, mais ce n'est franchement plus long !
(à moins de substituer le caractère "-" par " " avant le lancement de la macro).

Bonne soirée
thierry
 

Pièces jointes

Dernière édition:
Bonjour,

sélectionner la plage à traiter et clic bouton.
J'ai fait comme ça pour ne pas écraser d'éventuelles retouches manuelles, mais on peut changer pour traiter toute la colonne directement.
eric
 

Pièces jointes

Bonsoir centurion, zebanx, eriiiic, [edit] kan3pz,

Cette fonction VBA (matricielle) est relativement simple :
Code:
Function Eclater(t$)
Dim i%, s
t = Application.Trim(t) 'SUPPRESPACE
For i = 1 To Len(t)
  If Mid(t, i, 2) Like " #" Then t = Left(t, i - 1) & Chr(1) & Mid(t, i + 1)
  If Mid(t, i, 2) Like "# " Then t = Left(t, i) & Chr(1) & Mid(t, i + 2)
Next
If t = "" Then s = "" Else s = Split(t, Chr(1)): t = s(1): s(1) = s(2): s(2) = t
Eclater = s 'vecteur ligne
End Function
A entrer sur la plage C2:F2 et à valider matriciellement par Ctrl+Maj+Entrée.

Fichier joint.

Bonne fin de soirée.
 

Pièces jointes

Dernière édition:
- 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

Réponses
4
Affichages
290
Réponses
12
Affichages
288
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…