extraire contenu séparé par ";" et lister dans une colonne

Le
jip
Bonjour
Soit un tableau de ce type

A
1 E 843-918 ; E 921-961 ; E 973-974
2 E 975-1009 ; E 1014-1026
3 E 1027-1053
etc
tout dans la colonne A

Est-il possible d'extraire le contenu de type "E xxxx-yyyy" (1 à 4 x et y=
) entre chaque ";" (parfois une seule donnée donc pas de ";") et de les l=
ister dans une seule colonne (donc pas de "convertir" ?)
A
1 E 843-918
2 E 921-961
3 E 973-974
etc

Merci d'avance.
Cordialement
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacquouille
Le #26394232
Bonjour

Première réflexion : si la col A est complètement remplie avec ces données,
il sera très malaisé d' ajouter d'autres données provenant de la séparation
(.)
Deuxième: "Convertir" convient à merveille. dès que c'est fait, il suffit de
recopier la col B sous la col A, puis la colC

Et cela devrait aller, sauf si colA est complète dès le départ....

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"jip" a écrit dans le message de groupe de discussion :


Bonjour
Soit un tableau de ce type

A
1 E 843-918 ; E 921-961 ; E 973-974
2 E 975-1009 ; E 1014-1026
3 E 1027-1053
etc
tout dans la colonne A

Est-il possible d'extraire le contenu de type "E xxxx-yyyy" (1 à 4 x et y)
entre chaque ";" (parfois une seule donnée donc pas de ";") et de les lister
dans une seule colonne (donc pas de "convertir" ?)
A
1 E 843-918
2 E 921-961
3 E 973-974
etc

Merci d'avance.
Cordialement


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
HB
Le #26394261
Bonsoir,

Compte tenu des contraintes décrites je suppose que les nouvelles
données vont sur une autre feuille, ou alors dans la colonne B
sinon cela va un peu compliquer la manip.

Les possibilités des formules sont vastes
mais une petite macros simple est faisable
en utilisant la fonction Split ...

Voici, par exemple, la petite macro
qui fabrique la liste voulue dans la colonne B.

Sub truc()
R = 1
N = WorksheetFunction.CountA(Columns(1))
For I = 1 To N
A = Cells(I, 1).Value
G = Split(A, ";")
For J = 0 To UBound(G)
Cells(J + R, 2).Value = G(J)
Next
R = R + UBound(G) + 1
Next
End Sub


Cordialement,

HB


Le 01/04/2016 16:05, jip a écrit :
Bonjour
Soit un tableau de ce type

A
1 E 843-918 ; E 921-961 ; E 973-974
2 E 975-1009 ; E 1014-1026
3 E 1027-1053
etc
tout dans la colonne A

Est-il possible d'extraire le contenu de type "E xxxx-yyyy" (1 à 4 x et y) entre chaque ";" (parfois une seule donnée donc pas de ";") et de les lister dans une seule colonne (donc pas de "convertir" ?)
A
1 E 843-918
2 E 921-961
3 E 973-974
etc

Merci d'avance.
Cordialement





---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
jip
Le #26394606

Voici, par exemple, la petite macro
qui fabrique la liste voulue dans la colonne B.

Sub truc()
R = 1
N = WorksheetFunction.CountA(Columns(1))
For I = 1 To N
A = Cells(I, 1).Value
G = Split(A, ";")
For J = 0 To UBound(G)
Cells(J + R, 2).Value = G(J)
Next
R = R + UBound(G) + 1
Next
End Sub


Cordialement,

HB




Merci cela fonctionne très bien.
Publicité
Poster une réponse
Anonyme