Comment selectionner des valeurs en fonction de se qui les entourent...

Le
b.jupinet
Bonjour,

je suis en posession de ce type de donnees sur une seul colone :

(4185),(306),F1.00,
(4186),(307,308),F1.00,
(4187),(308,309),F1.00,
(4188),(309,310),F1.00,
(4189),(287-331),F1.00,
(4190),(287-337),F1.00,
(4191),(289-318),F1.00,
(4192),(236-240,253,289-321),F1.00,
(4193),(304-321),F1.00,
(4224),(369,370),F1.00,
(4225),(370-371),F1.00, Et cela sur des miliers de
lignes..

Comment puis je extraire les valeurs situees entre parentheses, les
valeurs situees entre virgules
En effet j ai besoin d editer les valeurs situees entre parentheses
(4588-8954) qui represente un groupe ici de 4588 a 8954, de virer les
valeurs seuls, situees entre virgules elles ne m interessent pas.
Le probleme etant que les valeurs entre parenthese et entre virgules
ne font pas toujours 4 digit et que ente deux parentheses, il peux
y avoir un grand nombre de groupes m interressant.. ( comme a la 8 eme
ligne, j aimerai separer le groupe 236-240, ne pas m occupper de 253
ou le virer et reussir a capter le groupes 289-321)

Tout ces chiffres sont a traiter comme du simple texte pour une
utilisation dans d autres logiciels

Merci de votre aide, j espere avoir ete claire et dsl pour les accents
mais je suis en qwerty pour qq temps

Benoit
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
Philippe.R
Le #5428381
Bonjour,
Une piste à explorer, me semble t il, du côté de Données / convertir /
séparateur virgule ; les groupes de nombre reliés par "-" seront déjà isolés
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
news:
Bonjour,

je suis en posession de ce type de donnees sur une seul colone :

(4185),(306),F1.00,
(4186),(307,308),F1.00,
(4187),(308,309),F1.00,
(4188),(309,310),F1.00,
(4189),(287-331),F1.00,
(4190),(287-337),F1.00,
(4191),(289-318),F1.00,
(4192),(236-240,253,289-321),F1.00,
(4193),(304-321),F1.00,
(4224),(369,370),F1.00,
(4225),(370-371),F1.00, Et cela sur des miliers de
lignes..

Comment puis je extraire les valeurs situees entre parentheses, les
valeurs situees entre virgules...
En effet j ai besoin d editer les valeurs situees entre parentheses
(4588-8954) qui represente un groupe ici de 4588 a 8954, de virer les
valeurs seuls, situees entre virgules elles ne m interessent pas.
Le probleme etant que les valeurs entre parenthese et entre virgules
ne font pas toujours 4 digit... et que ente deux parentheses, il peux
y avoir un grand nombre de groupes m interressant.. ( comme a la 8 eme
ligne, j aimerai separer le groupe 236-240, ne pas m occupper de 253
ou le virer et reussir a capter le groupes 289-321)

Tout ces chiffres sont a traiter comme du simple texte pour une
utilisation dans d autres logiciels

Merci de votre aide, j espere avoir ete claire et dsl pour les accents
mais je suis en qwerty pour qq temps...

Benoit


francois.forcet
Le #5428351
Salut Benoit

Soit Feuil1 colonne A à traiter
Le résultat en colonne B

Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A2", "A" &
Range("A65535").End(xlUp).Row)
Valeur = Split(c, ",")
For i = 0 To UBound(Valeur)
Range("B65535").End(xlUp).Offset(1, 0) = Valeur(i)
Next
Next
Range("B2", "B" & Range("B65535").End(xlUp).Row).Replace What:="(",
Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse,
_
ReplaceFormat:úlse
Range("B2", "B" & Range("B65535").End(xlUp).Row).Replace
What:=")", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse,
_
ReplaceFormat:úlse

Celà devrait te convenir
Dis moi !!!!
b.jupinet
Le #5426731
On 31 mar, 08:48, wrote:
Salut Benoit

Soit Feuil1 colonne A à traiter
Le résultat en colonne B

Je te propose ce code :

For Each c In Worksheets("Feuil1").Range("A2", "A" &
Range("A65535").End(xlUp).Row)
Valeur = Split(c, ",")
For i = 0 To UBound(Valeur)
Range("B65535").End(xlUp).Offset(1, 0) = Valeur(i)
Next
Next
Range("B2", "B" & Range("B65535").End(xlUp).Row).Replace What:="(",
Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse ,
_
ReplaceFormat:úlse
Range("B2", "B" & Range("B65535").End(xlUp).Row).Replace
What:=")", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse ,
_
ReplaceFormat:úlse

Celà devrait te convenir
Dis moi !!!!


Bonjour,

J ai bien avance grace a l aide d une lectrice. IL me reste une chaine
de ce type 4879-9874,254,21,6888845,6,5,87889-996665,4455,5578-8996
et je veux garder que les 'fourchettes', c a d 4879-9874 et
87889-996665 et 5578-8996.
J aimerai les coller dans une meme colone les unes a la lignes des
autres, l ordre n etant pas important.

Merci bcp

benoit

Publicité
Poster une réponse
Anonyme