Extractions multiples depuis une chaine

Le
Olivier Lucas
Bonjour!

J'essaie d'utiliser VBA pour extraire des informations d'une chaine
alphanumerique, mais je crois que c'est plus complexe qu'un simple
program et je n'y arrive pas..
J'ai des cellules sous le format suivant:

9/5/07 23d wt 12.40g
Date espace 1 ou 2 chiffres suivi de "d" espace suivi de wt, 2 espaces
puis un nombre decimal suivi de g.
Je peux aisement enlever le d, wt et g avec la fonction "remplacer"
J'aimerais que le programme me retourne 2 colonnes au final:
A B
1 23 12.40

Y a t il un moyen de faire cela?

D'avance merci!

OL
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
LSteph
Le #5011591
Bonsoir,

Selectionne la colonne
(débrouille toi pour que le nb de colonnes suffisant à droite soit vide)
Menu Donnnées Convertir
Délimité Espace
Suivant Suivant
Ok

--@+
lSteph

Bonjour!

J'essaie d'utiliser VBA pour extraire des informations d'une chaine
alphanumerique, mais je crois que c'est plus complexe qu'un simple
program et je n'y arrive pas..
J'ai des cellules sous le format suivant:

9/5/07 23d wt 12.40g
Date espace 1 ou 2 chiffres suivi de "d" espace suivi de wt, 2 espaces
puis un nombre decimal suivi de g.
Je peux aisement enlever le d, wt et g avec la fonction "remplacer"
J'aimerais que le programme me retourne 2 colonnes au final:
A B
1 23 12.40

Y a t il un moyen de faire cela?

D'avance merci!

OL



charabeuh
Le #5011551
Bonjour,


en A3 ta chaine source
en B3 la formule =STXT(A3;CHERCHE(" ";A3)+1;CHERCHE("d";A3)-CHERCHE("
";A3)-1)
en C3 la formule
=STXT(A3;CHERCHE("wt";A3)+4;CHERCHE("g";A3)-CHERCHE("wt";A3)-4)


ou en VBA
mettre la fonction dans un module

Public Function UnOuDeux(xCH, xUNouDeux)
On Error Resume Next
UnOuDeux = "#Erreur"
Select Case xUNouDeux
Case 1
UnOuDeux = Mid(xCH, InStr(xCH, " ") + 1, InStr(xCH, "d") - InStr(xCH, "
") - 1)
Case 2
UnOuDeux = Mid(xCH, InStr(xCH, "wt") + 4, InStr(xCH, "g") - InStr(xCH,
"wt") - 4)
End Select
End Function



et utiliser en B3 =UnouDeux(A3;1) et en C3 =UnouDeux(A3;2)

Bonnet de nuit !



"Olivier Lucas" news:
Bonjour!

J'essaie d'utiliser VBA pour extraire des informations d'une chaine
alphanumerique, mais je crois que c'est plus complexe qu'un simple
program et je n'y arrive pas..
J'ai des cellules sous le format suivant:

9/5/07 23d wt 12.40g
Date espace 1 ou 2 chiffres suivi de "d" espace suivi de wt, 2 espaces
puis un nombre decimal suivi de g.
Je peux aisement enlever le d, wt et g avec la fonction "remplacer"
J'aimerais que le programme me retourne 2 colonnes au final:
A B
1 23 12.40

Y a t il un moyen de faire cela?

D'avance merci!

OL



Publicité
Poster une réponse
Anonyme