Extraction de chiffre dans une chaîne de caractère
werocool
Messages postés1Date d'inscriptionvendredi 30 août 2002StatutMembreDernière intervention30 août 2002
-
30 août 2002 à 15:20
petitstagiaire
Messages postés73Date d'inscriptionmardi 23 juillet 2002StatutMembreDernière intervention10 juillet 2003
-
30 août 2002 à 16:03
Comment faire cela:
J'ai une colonne en excel qui donne cette chaine de caractere:
d2347
c0897342
"C" étant credit et "D" étant debit
J'aimerais extraire le chiffre de chaque cellule et le mettre dans la colonne credit lorsqu'il y a un "C" au début de la chaine et mettre dans la colonne debit lorsque la chaîne commence par "D"
La colonne n'a pas toujours le meme nombre de cellule. Il peut y avoir 100 cellule d'ecrite et defois 15 seulement. Il peut y avoir des cellule vide.
Si ce n'est pas possible, est-ce que je peux seulement extraire le "C" et le mettre dans une autre colonne ainsi que le "D" ? Si oui, COMMENT !!!!
Merci !!!
WeroCooL
A voir également:
Extraction de chiffre dans une chaîne de caractère
petitstagiaire
Messages postés73Date d'inscriptionmardi 23 juillet 2002StatutMembreDernière intervention10 juillet 2003 30 août 2002 à 15:55
salut WeroCooL,
voila un peu de code que tu peu adapter à ton document :
Dim Num As String
Dim Operation As String
Dim Adr_Cell As String
'positionnement sur la première cellule de ta colonne
Range("A1").Select
'on boucle jusqu'à ce qu'on rencontre une cellule vide
While ActiveCell.Value <> ""
'on sauvegarde l'adresse de la case en cours
Adr_Cell = ActiveCell.Address
'on récupére la lettre
Operation = Left(ActiveCell.Value, 1)
'on récupère le numéro
Num = Right(ActiveCell.Value, Len(ActiveCell.Value) - 1)
'en fonction de la lettre on se positionne sur la bonne colonne
'sous la dernière case renseignée
If Operation = "c" Then Range("D65536").End(xlUp).Offset(1).Select
If Operation = "d" Then Range("E65536").End(xlUp).Offset(1).Select
'on rempli avec le numéro
ActiveCell.Value = Num
'on reselectionne la cellule où on s'était arrêter
Range(Adr_Cell).Select
'on descend d'une case
ActiveCell.Offset(1, 0).Activate
Wend