[vba] type de variable

type de variable [vba] - VB/VBA/VBS - Programmation

Marsh Posté le 10-03-2004 à 12:34:44    


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:  

Reply

Marsh Posté le 10-03-2004 à 12:34:44   

Reply

Marsh Posté le 10-03-2004 à 14:21:08    

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

Reply

Marsh Posté le 10-03-2004 à 14:24:27    

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

Reply

Marsh Posté le 10-03-2004 à 14:25:20    

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

Reply

Marsh Posté le 10-03-2004 à 14:52:34    

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:

Reply

Marsh Posté le 10-03-2004 à 15:04:26    


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 ;)

Reply

Marsh Posté le 10-03-2004 à 16:28:15    

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

Reply

Marsh Posté le 10-03-2004 à 16:36:36    

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

Reply

Marsh Posté le 10-03-2004 à 16:54:39    

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 )

Reply

Marsh Posté le 10-03-2004 à 17:06:47    

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 ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed