[VBA]Découpage d'une variable string

Fermé
Solid Messages postés 31 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 4 mars 2008 - 21 juin 2006 à 16:53
blux Messages postés 26819 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 29 avril 2025 - 15 déc. 2006 à 14:24
Bonjour,
Je vodrais savoir s'il est possible de récupérer les caractères d'un string 1 à 1. En fait je voudrais savoir si une variable string contient un caractère particulier. Pour cela je ferais une boucle sur le nombre de caractères de la variable, je récupererait les caractères 1 à 1 dans une autre variable et je testerait si ce caractère est égale ou non au caractère que je souhaite.
Mais je ne sais pas s'il éxiste une fonction permettant cette récupération.
Merci d'avance

2 réponses

Kobaya Messages postés 282 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 10 janvier 2008 214
21 juin 2006 à 18:06
salur Solid,

Il y a mieux : la fonction InStr([start, ]string1, string2[, compare])
start = position ou commence le contrôle dans la chaîne
string1 = chaîne où l'on effectue la recherche
string2 = chaîne recherchée
compare = suivant le type de comparaison (texte ou binaire)

Elle te renvoie la position du caractère recherché, s'il est présent dans la chaine de référence, ou 0.

Il existe aussi InstrRev() qui fait la même chose, mais en commençant la recherche par la fin de la chaîne.

0
benitodelsol
15 déc. 2006 à 13:41
Bonjour Kobaya et les autres !

question complémentaire à ce topic qui me serait bien utile...
Est-il possible de remplacer un morceau de chaine par une variable.

Dans mon exemple, je souhaite inmporter sous Excel les données d'une URL par la formule :

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www...9110954... _
, Destination:=Range("A1"))
.Name = _
"FFTTfi.php3?session=precision%3D9110954%26reqid%3D200&cler=LEA966RLBwtKw_3"

Cette URL contient 7 chiffres (9110954), que je souhaiterais modifier à volonter en les remplaçants par une variable.

Est-ce possible et comment fais-je ??

Merci de votre aide !
0
blux Messages postés 26819 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 29 avril 2025 3 335 > benitodelsol
15 déc. 2006 à 14:24
Salut,

il existe la fonction 'replace' :

Replace(expression, find, replace[, start[, count[, compare]]])

toto=replace(titi,"9110954",ma_variable,1,2)

Met dans toto le contenu de titi, dont on aura remplacé 2 fois la chaine "9110954" par ma_variable (si elle est présente 2 fois, bien sûr !), en commençant la recherche au premier caractère...
0
Solid Messages postés 31 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 4 mars 2008
22 juin 2006 à 14:52
ok je vais voir ske je peux faire avec ca
Merci :)
0