Extraction de chiffre dans une chaîne de caractère

Messages postés
1
Date d'inscription
vendredi 30 août 2002
Statut
Membre
Dernière intervention
30 août 2002
-
Messages postés
73
Date d'inscription
mardi 23 juillet 2002
Statut
Membre
Dernière intervention
10 juillet 2003
-
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

2 réponses

Messages postés
73
Date d'inscription
mardi 23 juillet 2002
Statut
Membre
Dernière intervention
10 juillet 2003

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

bon courage

petitstagiaire
Messages postés
73
Date d'inscription
mardi 23 juillet 2002
Statut
Membre
Dernière intervention
10 juillet 2003

excuse moi avec le code que je t'ai donné, excel va convertir automatiquement tes cellules en format numérique

au lieu d'avoir 0897342 dans ta colonne crédit tu auras 897342. et je suppose que le "0" est important

avant d'insérer la valeur dans ta cellule, c'est à dire au dessu de :
ActiveCell.Value = Num

tu dois rajouter la ligne suivante :
ActiveCell.NumberFormat = "@"

petitstagiaire