[VBA]Découpage d'une variable string

Solid Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 27109 Date d'inscription   Statut Modérateur Dernière intervention   -
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   Statut Membre Dernière intervention   214
 
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
 
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 27109 Date d'inscription   Statut Modérateur Dernière intervention   3 359 > benitodelsol
 
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   Statut Membre Dernière intervention  
 
ok je vais voir ske je peux faire avec ca
Merci :)
0