Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2514 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA Excel] Recherche spécial dans une chaine de caractère ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA Excel] Recherche spécial dans une chaine de caractère ?

n°606713
bab
Posté le 09-01-2004 à 19:44:03  profilanswer
 

j'ai une chaine comme ça par exemple :
 
toto = "client (ville)"
 
et je voudrais pouvoir récupérer "client" dans une variable et "ville" dans une autre
 
comment est-ce que je peux faire ?


Message édité par bab le 09-01-2004 à 19:44:26
mood
Publicité
Posté le 09-01-2004 à 19:44:03  profilanswer
 

n°606765
Carbon_14
Posté le 09-01-2004 à 21:14:45  profilanswer
 

En BASIC (doit aussi y avoir en VBA, j'espère), y a Instr() qui retourne la position d'un caractère dans une chaîne (le " " ici). On peut ensuite utiliser Left$() qui retourne la partie gauche d'une chaîne, on précise la longueur grâce à l'instruction précédente. On a donc "client".
Pour (ville), faut utiliser right$() avec la bonne longueur (longueur totale - position de l'espace - 1 pr passer l'espace).
Pour isoler le "ville" de "(ville)", la fonction mid$() devrait être utile : on prend du second à l'avant-dernier caractère (len(Chaine$) donne la longueur d'une chaîne).
 
En condensé, ça donnerait
ChneXCEL$ = "Client (ville)"
 
iE% = INSTR(ChneXCEL$, " " )
' si iE% non nul
Chaine1$ = LEFT$(ChneXCEL$, iE% - 1) ' tout avant espace
ChneTmp$ = RIGHT$(ChneXCEL$, LEN(ChneXCEL$) - iE%) ' chaîne "(ville)"
Chaine2$ = MID$(ChneTmp$, 2, LEN(ChneTmp$) - 2) ' on jette les "("
 
Si on n'a pas besoin d'analyser la présence des "(" " )", on peut adapter la dernière ligne pour éviter la précedente
 
ChneXCEL$ = "Client (ville)"
 
iE% = INSTR(ChneXCEL$, " " )
Chaine1$ = LEFT$(ChneXCEL$, iE% - 1)
Chaine2$ = MID$(ChneXCEL$, , )  .....


Message édité par Carbon_14 le 09-01-2004 à 21:29:31
n°606770
bab
Posté le 09-01-2004 à 21:20:17  profilanswer
 

ok, je te remercie je vais regarder ça


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA Excel] Recherche spécial dans une chaine de caractère ?

 

Sujets relatifs
[VBA Excel] Je suis nul en VBA aidez-moi svpRecherche cours ou tutoriel VB 6
[VB] remplir base access à partir d'un tableau excel[VBA] Définir la couleur d'une cellule à aucun remplissage RESOLU
[excel] :D utiliser des variables dans une macroVBA : commande saveas d'un doc word depuis une appli access
[VBA] Comment déclencher le traitement à la sortie d'une celluleVBA; parcourir dynamiqument un type..end type
asp modifier cellule excel 
Plus de sujets relatifs à : [VBA Excel] Recherche spécial dans une chaine de caractère ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR