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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Détécter un espace dans un nom

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Détécter un espace dans un nom

n°1250498
JuVeNaL
Carpe Diem
Posté le 22-11-2005 à 08:58:59  profilanswer
 

Bonjour ,
 
Je crée un script de modification de certains paramètres des utilisateurs de mon AD.
Je dois crée comme mail ( alias ) Prénom + Nom @domain.com .  
Mais je rencontre un petit problème, car dans certains noms il y à des espaces.
J'ai donc su récupérer la valeur giveName ( nom ) mais je sais pas comment faire pour détecter un espace et le modifier.
 
Quelqu'un sait m'aider svp ?  
 
Bien à vous  
JuVeNaL

mood
Publicité
Posté le 22-11-2005 à 08:58:59  profilanswer
 

n°1250522
olivthill
Posté le 22-11-2005 à 09:51:13  profilanswer
 

L'instruction Instr() permet d'obtenir l'emplacement d'une sous-chaine dans une chaine. Pour un espace dans une chaine, on aura donc :

i_sp = Instr(nom, " " )

Puis pour remplacer cet espace par autre chose, il faut prendre la gauche de la chaine (avec left()) et la partie droite (avec right()). On peut aussi éventuellement mettre au milieu une chaine de substitution. Si l'espace est à la fin, il ne faut pas prendre la partie droite.

Code :
  1. i_sp = Instr(nom, " " )
  2. If (i_sp > 0) Then
  3.    nom2 = Left(nom, i_sp - 1)
  4.    nom2 = nom2 & chaine_de_substitution
  5.    If (i_sp + Len(" " ) - 1 < Len(nom)) Then
  6.       nom2 = nom2 & Right(nom, Len(nom) - i_sp - Len(" " ) + 1)
  7.    End If
  8. End If

n°1250524
pc75
Posté le 22-11-2005 à 09:52:25  profilanswer
 

Bonjour,
 
Il existe la fonction InStr() qui renvoie la position d'une sous-chaine dans une chaine.

n°1250540
JuVeNaL
Carpe Diem
Posté le 22-11-2005 à 10:05:06  profilanswer
 

Bonjour ,
 
Je vous remercie à tout les deux de m'avoir aidé .
la programmation c'est toujours super mais pour avoir l'information ( doc ) pas évident.
 
Merçi a vous les gars sans un forum et des gars comme vous je pense que beaucoups abandonerais .
 
Bien à  vous  
JuVeNaL

n°1250580
tegu
Posté le 22-11-2005 à 11:10:42  profilanswer
 

D'abors, utilise Trim$() pour enlever les espaces de début et de fin (seuls ceux entre les mots resteront).
Ensuite utilise la fonction Replace() pour remplacer tes espaces par autre chose.
InStr() ne me semble pas forcément le plus simple ici.
Sauf si tu fais des traitements plus spécifiques sur les espaces (pas toujours remplacé par le même caractère).


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

  Détécter un espace dans un nom

 

Sujets relatifs
Singleton dans une DLL et espace mémoire propreregex pour autoriser l'espace
Le double espace ne s'affiche que en simple espaceQuel est le fonction pour détecter le type variable renvoyé ? (suite)
Espace dans les noms de fichiers et dossiers[Perl] Voir tout ce qui est importé dans l'espace de nom courant?
parse error impossible a detecter :/detecter une dimension d'un tableau [Trouvé]
[Question simple HTML] plus d'espace entre les imagesregex,: detecter un espace
Plus de sujets relatifs à : Détécter un espace dans un nom


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