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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [vba] type de variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[vba] type de variable

n°669479
red factio​n
Posté le 10-03-2004 à 12:34:44  profilanswer
 


dans lentete de ma form :  
 

Code :
  1. private Type MDATE
  2.     comparator As String * 3
  3.     value As String * 3
  4.     period As String * 1
  5. End Type


 
dans une sub j'ai :
 

Code :
  1. Dim test as MDATE
  2. Dim str as string
  3. str = "LNE200M"
  4. test = str //la ca foire y me fait :  
  5. Only public user defined types defined in public object modules can be used as parameters or return types for public procedures of class modules or as fields of public user defined types


 
jen ai vraiment besoin a moins de remplir tout les champs a la main  :sweat:  

mood
Publicité
Posté le 10-03-2004 à 12:34:44  profilanswer
 

n°669613
axl63800
Posté le 10-03-2004 à 14:21:08  profilanswer
 

je crois qu'il est relativement clair tu peux pas utiliser un type private en parametre ou retour d'une fonction ou d'une sub publique!!
C'est logique en soi

n°669619
red factio​n
Posté le 10-03-2004 à 14:24:27  profilanswer
 

axl63800 a écrit :

je crois qu'il est relativement clair tu peux pas utiliser un type private en parametre ou retour d'une fonction ou d'une sub publique!!
C'est logique en soi


 
si je met public ca marche pas non plus , y bloque a la definition du type

n°669623
axl63800
Posté le 10-03-2004 à 14:25:20  profilanswer
 

ben oui tu es dans un formulaire donc tout doit etre private je pense

n°669704
red factio​n
Posté le 10-03-2004 à 14:52:34  profilanswer
 

axl63800 a écrit :

ben oui tu es dans un formulaire donc tout doit etre private je pense


 
oui et ensuite je c pas faire mon association string-type  :sweat:

n°669717
ixemul
Nan mais sans blague ! ⚡
Posté le 10-03-2004 à 15:04:26  profilanswer
 


Code :
  1. private Type MDATE
  2.     comparator As String * 3
  3.     value As String * 3
  4.     period As String * 1
  5. End Type
  6. Private type buffer
  7.    strbuffer as String
  8. End Type


 
 
 

Code :
  1. Dim test as MDATE
  2. Dim tmp as Buffer
  3. Dim str as string
  4. str = "LNE200M"
  5. lset test = str
  6. str = Buffer.strbuffer


 
Ca devrait marcher ;)

n°669873
Profil sup​primé
Posté le 10-03-2004 à 16:28:15  answer
 

ixemul tu te complique bien la vie .
 
 
red faction tu devrait revoir les bases de la programmation tt cours :  
la déclaration de type utilisateur c fort bien mais faut savoir s'en servir
comment veux tu mettre une variable de type chaine sans faire appel a chaque élément du type?
 
dim test as MDATE
str = "LNE200M"
with test
  .comparator = LEFT(str,3)
  .value = mid(str,4,3)
  .period = right(str,1)
end with
 
voila finish

n°669883
ixemul
Nan mais sans blague ! ⚡
Posté le 10-03-2004 à 16:36:36  profilanswer
 

spike a écrit :

ixemul tu te complique bien la vie .
 
 
red faction tu devrait revoir les bases de la programmation tt cours :  
la déclaration de type utilisateur c fort bien mais faut savoir s'en servir
comment veux tu mettre une variable de type chaine sans faire appel a chaque élément du type?
 
dim test as MDATE
str = "LNE200M"
with test
  .comparator = LEFT(str,3)
  .value = mid(str,4,3)
  .period = right(str,1)
end with
 
voila finish


 

Citation :


jen ai vraiment besoin a moins de remplir tout les champs a la main  


 
Je ne me complique pas la vie au contraire, encore la ca va car la structure est minuscule, mais quand il sagit de grosses structures avec une vingtaine de champs ma methode est bien plus efficace (de plus, plus optimisée, et surtout pas besoin de se galerer avec des left,mid et right)
 
en plus, c'est "cobol staïlle" :D

n°669901
red factio​n
Posté le 10-03-2004 à 16:54:39  profilanswer
 

spike a écrit :

ixemul tu te complique bien la vie .
 
 
red faction tu devrait revoir les bases de la programmation tt cours :  
la déclaration de type utilisateur c fort bien mais faut savoir s'en servir
comment veux tu mettre une variable de type chaine sans faire appel a chaque élément du type?
 
dim test as MDATE
str = "LNE200M"
with test
  .comparator = LEFT(str,3)
  .value = mid(str,4,3)
  .period = right(str,1)
end with
 
voila finish


 
jai implementé ca comme ca pour le moment en attendant une reponse sur le forum
 
qd au base de la prog jai fait du C/C++ pendant 3-4 ans et voila que je doit faire du vba (aurevoir vitesse et propreté  :D )

n°669909
ixemul
Nan mais sans blague ! ⚡
Posté le 10-03-2004 à 17:06:47  profilanswer
 

red faction a écrit :


 
jai implementé ca comme ca pour le moment en attendant une reponse sur le forum
 
qd au base de la prog jai fait du C/C++ pendant 3-4 ans et voila que je doit faire du vba (aurevoir vitesse et propreté  :D )


 
t'as essayé ma methode ?


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

  [vba] type de variable

 

Sujets relatifs
Comment tester l appartenance d une variable a un type ??[VB] petit defi : récuperer le nom d'une variable dans un TYPE
[Shell] Comment savoir si une variable est du type "integer" ??Taille d'une variable de type "WORD"
retrouver le type d'une variableAfficher la valeur décimale d'une variable de type byte
Tester le type d'une variable entrée dans scanf[FLASH] Récupérer une variable flash de type flash.swf?variable=xxxxxx
Changement de type de variablesavoir si une variable est de type entier
Plus de sujets relatifs à : [vba] type de variable


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