gestion des chaines de caracteres - VB/VBA/VBS - Programmation
Marsh Posté le 09-04-2003 à 10:47:17
Toun a écrit : Bonjour a tous, |
utilise la fonction mid pour rechercher tes occurences
Marsh Posté le 09-04-2003 à 11:09:35
Par exemple disons que j'ai une chaine "bonjour, toi" et que je veux la separer en deux chaines ch1 = bonjour, et ch2 = toi avec comme separateur ", ". Comment faire? Si vous me donner du code, merci de me preciser la description des parametres
Merci
Marsh Posté le 09-04-2003 à 11:12:51
Toun a écrit : T'a pas un exemple plus concret stp. |
tu converti ton nombre en chaine:
MyString = Str(-459.65) ' Renvoie "-459,65".
MyString = Str(459.001) ' Renvoie " 459,001".
InStr, fonction :Renvoie une valeur de type Variant (Long) indiquant la position de la première occurrence d'une chaîne à l'intérieur d'une autre chaîne.
Syntaxe: InStr([start, ]string1, string2[, compare])
tu as aussi la fonction supprespace() mais je connais pas son equivalent en anglais si tu le connais tui fais: application.worksheetfunction.equivalent(tachaine) pour supprimer les espaces
Marsh Posté le 09-04-2003 à 11:20:23
Merci beaucoup, j'ai compris. Encore un petit truc stp, si je veux remplacer un caractere par un autre, je fais comment?
Par exemple: 6.2 en 6,2
Merci d'avance.
Marsh Posté le 09-04-2003 à 11:22:28
Toun a écrit : Par exemple disons que j'ai une chaine "bonjour, toi" et que je veux la separer en deux chaines ch1 = bonjour, et ch2 = toi avec comme separateur ", ". Comment faire? Si vous me donner du code, merci de me preciser la description des parametres |
pour faire ça, tu dois utiliser la fonction split.
ex:
monTableau=split("Bonjour, toi", ", " )
sinon, pour triturer tes chaines de caractères tu auras besoins des fonctions left, right, mid, instr, split (jette un oeil dans l'aide VB pour voir leur fonctionnement).
Marsh Posté le 09-04-2003 à 11:24:32
Toun a écrit : Merci beaucoup, j'ai compris. Encore un petit truc stp, si je veux remplacer un caractere par un autre, je fais comment? |
monNombre=replace("6.2", ".", "," )
Marsh Posté le 09-04-2003 à 11:26:04
Toun a écrit : Par exemple disons que j'ai une chaine "bonjour, toi" et que je veux la separer en deux chaines ch1 = bonjour, et ch2 = toi avec comme separateur ", ". Comment faire? Si vous me donner du code, merci de me preciser la description des parametres |
pos1= Instr(1, tachaine,",", 0)
ch1= left(tachaine,pos1 -1)
pos2=instr(pos1,tachaine,chr(32),0) donne la position du blanc
ch2= mid (tachaine,pos2 +1, len(tachaine)- ps2 )
pas testé
Marsh Posté le 09-04-2003 à 10:14:01
Bonjour a tous,
J'ai plusieurs questions a vous poser:
1) tout d'abord j'aurais voulu savoir comment manipuler des chaines de caracteres.
Je m'explique, je suis en train de developper une application chargée de transcrire des feuilles de calculs Excel dans une base de donnée Access. Pour cela, j'utitlise VBA. Mais le probleme est que les feuilles de calculs ont chacune leur propre notaion. C'est a dire que dans l'une, des formules chimiques auront la forme "C2 H6 O" et dans une autre, la forme concatener "C2H6O". Ou encore dans l'une, les prix non net auront un point (6.3), et d'autre des virgules (6,3).
Donc comment faire pour realiser ceci? Merci de m'envoyer des exemples.
2) je voudrais separer automatiquement une chaine en deux si celle-ci possede un caractere defini. Exemple: je veux separer la chaine "ethanol, anhidre" dans deux variable, avec comme séparation une virgule et un espace. Comment faire?
Merci de me repondre