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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA: scinder un label?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA: scinder un label?

n°454656
_Gef_
Posté le 11-07-2003 à 09:29:48  profilanswer
 

Rebonjour,  
 
Voilà, mon problème du jour est le suivant:
Via une inpubox, je demande un numéro: mais je voudrais bien que ce même numéro apparaisse différement sur dans mon label.
 
Ex: label.caption = inputbox("Introduisez numéro" )
Le numéro étant par exemple 12345612312 (hé oué 11 chiffres)
je voudrais qu'il s'affiche 123456-123-12 dans mon label et pas simpelment 12345612312
Si vous pouviez aussi m'indiquer rapidement le code :)
 
Merci :)

mood
Publicité
Posté le 11-07-2003 à 09:29:48  profilanswer
 

n°456225
cvb
Posté le 12-07-2003 à 18:53:37  profilanswer
 

c'est pas compliqué !  
 
 

Code :
  1. dim recup_num1 as integer
  2. dim recup_num as string
  3. dim découp_chaine_1, découp_chaine_2, découp_chaine_3 as string
  4. 'tu récupère le numéro dans une variable
  5. recup_num1 = inputboc("Votre numéro" )
  6. 'tu convertie en chaine de caractère le nombre
  7. recup_num = str(recup_num_1) 'convertir en string la chaine renvoyé
  8. 'tu récupère les morceaux
  9. découp_chaine_1 =  left(recup_num,6)
  10. découp_chaine_2 = right(recup_num,2)
  11. decoup_chaine_3 = mid(recup_num,7,2)
  12. label1.caption  = découp_chaine_1 & "-" & découp_chaine_3 & "-" & découp_chaine_2

 
 
il faut convertir la chaine en string, puisque c'est un entier. Aprés, avec les fonctions des traitement de caratère, tu découpe ta chaine en trois parties (il faut qu'elle soit impérativement de 11 caractère, du moins pour mon exemple). Une fois découper et dans des variables, tu les acroche en elles, avec au milieu le tiret...
 
Vérfie au passage la fonction "mid", je m'en souviens mal, je fais de tête. Tu devras faire attention à ce que le nombre retourné, soit égal à 11 carcatère et pas un de plus ou de moins, sinon, le code que je viens de mettre deviens faux !

n°456501
Gnub
Posté le 13-07-2003 à 13:15:30  profilanswer
 

Sous VB6 il existe la fonction Format qui permet de mettre en forme des chaines de caractère ; je ne sais pas si cette fonction existe sous VBA... fais peut être une ptite recherche dessus :)

n°456605
Carbon_14
Posté le 13-07-2003 à 18:59:31  profilanswer
 

Format() permettrait d'extraire des sous-chaînes ?  
Je crains qu'il doive passer par decoup_chaine_1, decoup_chaine_2, decoup_chaine_3 puis concaténer via des "-" ou un Format() contenant "-".  
 
C'est pour gérer un numéro de série ?
 

n°456632
Gnub
Posté le 13-07-2003 à 20:08:56  profilanswer
 

Sous VB6, ceci fonctionne :
 
MyString = Format(MyNumber, "######-###-##" )
 
Sous VBA, aucune idée...


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

  VBA: scinder un label?

 

Sujets relatifs
[c++ builder] Comment afficher une variable dans un label ?Probleme avec la propriété FormulaArray sous VBA (Excel)
[VBA, access] mettre autre chose qu'un fichier office en 'object'[C++\VBA] Communication C++ VBA
[VBA] Executer une macro à l ouverture d'un fichier excel [resolu][VBA] Portabilité des barres d'outils affectées à des macros ?
ptit question facile VBA[VBA] Excel : comment tester la "visibilité" d'une cellule ?
Surnaturel => conversion de nombres Access/VBA, incompréhensible !!![VBA et Access] Question sur un morceau de code !
Plus de sujets relatifs à : VBA: scinder un label?


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