Traitement/Extraction de chaines de caractères

Le
Apitos
Bonjour à tous,

J'ai dans une feuille de calcul des chaines alphanumériques que jâ=
€™aimerais traiter pour en extraire et composer des chiffres seulement =
pour les écrire dans un fichier texte.

Voila un exemple des chaines à traiter à gauche, et le résul=
tat voulu à droite :

012 39 M0 C1 à 6 => 012390
012 44 M2/6 => 012442 - 012446
012 40 M6 à 9 => 012406 – 012407 – 012408 - 012409
012 43 M6 à 0 => 012436 – 012437 – 012438 – =
012439 -012430
012 40 M6/7 => 012406 - 012407

Merci d’avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
La Norme Fran
Le #26413475
On Fri, 21 Oct 2016 03:29:10 -0700 (PDT), Apitos wrote:
Bonjour à tous,
J'ai dans une feuille de calcul des chaines alphanumériques que j’aimerais traiter pour en extraire et composer des chiffres seulement pour les écrire dans un fichier texte.
Voila un exemple des chaines à traiter à gauche, et le résultat voulu à droite :
012 39 M0 C1 à 6 => 012390
012 44 M2/6 => 012442 - 012446
012 40 M6 à 9 => 012406 – 012407 – 012408 - 012409
012 43 M6 à 0 => 012436 – 012437 – 012438 – 012439 -012430
012 40 M6/7 => 012406 - 012407
Merci d’avance.

Tu ne dis pas quelle version de excel tu utilises
Sur la version 2013, il y a une nouvelle fonctionnalitée :
http://www.excel-exercice.com/excel2013/remplissage-instantane/
On lui montre comment faire et il apprend tout seul.
Avec des valeurs comme les tiennent, il faudra lui montrer 2 ou 3
exemples.
Ca évite de se taper les formules ou le VBA
C'est pas dynamique en cas de changement de valeur dans la cellule
d'origine mais c'est telement pratique.
--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
La Norme Française c'est pas le FN
Le #26413474
On Fri, 21 Oct 2016 12:50:27 +0200, La Norme Française c'est pas le FN
On Fri, 21 Oct 2016 03:29:10 -0700 (PDT), Apitos wrote:
Ca évite de se taper les formules ou le VBA
C'est pas dynamique en cas de changement de valeur dans la cellule
d'origine mais c'est telement pratique.

Et si t'as pas 2013 et que t'as des tonnes de données à traiter (pas
top secret), tu peux mettre tes données sur un cjoint et je te le
retourne par cjoint.
--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
Apitos
Le #26413477
Bonjour la Norme Francaise,
voici un exemple dans Excel 2007 :
http://www.cjoint.com/c/FJvlo3TIrXJ
Jacquouille
Le #26413480
Bonjour
Si tes cel sont identiques en nb de car, tu peux toujours commencer par
dégrossir comme ceci :
=GAUCHE(B3;6)&STXT(B3;7;1)
Cela te permettra de supprimer la lettre "M".
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Apitos" a écrit dans le message de groupe de discussion :

Bonjour la Norme Francaise,
voici un exemple dans Excel 2007 :
http://www.cjoint.com/c/FJvlo3TIrXJ
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Jacquouille
Le #26413479
Opus, faut changer le 7 en 9
=GAUCHE(B3;6)&STXT(B3;9;1) et cela donnera 012 411 pour B3
Si c'est cela, ensuite, tu peux faire une multitude de SI pour compter les
car à mettre après ....
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
nucvld$dcp$
Bonjour
Si tes cel sont identiques en nb de car, tu peux toujours commencer par
dégrossir comme ceci :
=GAUCHE(B3;6)&STXT(B3;7;1)
Cela te permettra de supprimer la lettre "M".
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Apitos" a écrit dans le message de groupe de discussion :

Bonjour la Norme Francaise,
voici un exemple dans Excel 2007 :
http://www.cjoint.com/c/FJvlo3TIrXJ
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
JièL
Le #26413489
ou alors
=SUBSTITUE(B9;"M";"")
--
JièL simplificationniste
Le 21/10/2016 à 14:01, Jacquouille a écrit :
Opus, faut changer le 7 en 9
=GAUCHE(B3;6)&STXT(B3;9;1) et cela donnera 012 411 pour B3
Si c'est cela, ensuite, tu peux faire une multitude de SI pour compter
les car à mettre après ....
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
nucvld$dcp$
Bonjour
Si tes cel sont identiques en nb de car, tu peux toujours commencer par
dégrossir comme ceci :
=GAUCHE(B3;6)&STXT(B3;7;1)
Cela te permettra de supprimer la lettre "M".
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Apitos" a écrit dans le message de groupe de discussion :

Bonjour la Norme Francaise,
voici un exemple dans Excel 2007 :
http://www.cjoint.com/c/FJvlo3TIrXJ
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
isabelle
Le #26413490
bonjour Apitos,
voici un début de piste...
Sub test()
cl = 7
For Each c In Range("b3:b20")
n1 = Left(c, 6)
n2 = Mid(c, Application.Find("M", c) + 1, 1)
n3 = Right(c, 1)
If n2 = 0 Then
Cells(c.Row, cl) = n1 & i
cl = cl + 1
GoTo suivant
End If
If n3 = 0 Then
n3 = 9
For i = n2 To n3
Cells(c.Row, cl) = n1 & i
cl = cl + 1
Next
Cells(c.Row, cl) = n1 & 0
Else
For i = n2 To n3
Cells(c.Row, cl) = n1 & i
cl = cl + 1
Next
End If
suivant:
cl = 7
Next
End Sub
isabelle
Le 2016-10-21 à 06:29, Apitos a écrit :
Bonjour à tous,
J'ai dans une feuille de calcul des chaines alphanumériques que j’aimerais
traiter pour en extraire et composer des chiffres seulement pour les écrire
dans un fichier texte.
Voila un exemple des chaines à traiter à gauche, et le résultat voulu à
droite :
012 39 M0 C1 à 6 => 012390 012 44 M2/6 => 012442 - 012446 012 40 M6 à 9 =>
012406 – 012407 – 012408 - 012409 012 43 M6 à 0 => 012436 – 012437 – 012438 –
012439 -012430 012 40 M6/7 => 012406 - 012407
Merci d’avance.
Apitos
Le #26413555
Bonjour à tous,
Merci pour vos réponses.
Bon, voici un exemple, peut être il sera utile :
http://www.cjoint.com/c/FJvr3q83Q0J
Apitos
Le #26413660
Bonjour à tous,
Enfin après moult essais et codage de lignes, voici un exemple qui fon ctionne.
S'il y'a des rectifications à faire, je suis preneur ;)
Merci.
http://www.cjoint.com/c/FJwqXnSlMjt
isabelle
Le #26413701
bonjour Apitos,
il n'y a pas de résultat pour "MDS" ligne 20, pourquoi ?
isabelle
Le 2016-10-22 à 12:50, Apitos a écrit :
Bonjour à tous,
Enfin après moult essais et codage de lignes, voici un exemple qui fonctionne.
S'il y'a des rectifications à faire, je suis preneur ;)
Merci.
http://www.cjoint.com/c/FJwqXnSlMjt
Publicité
Poster une réponse
Anonyme