[VBA]Découpage d'une variable string

Solid Messages postés 31 Date d'inscription   Statut Membre -  
blux Messages postés 2051 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

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