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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème avec Type défini par l'utilisateur...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec Type défini par l'utilisateur...

n°2119107
Cutter
Posté le 02-01-2012 à 22:47:26  profilanswer
 

Bonjour,
 
Je souhaite travailler avec un type de données défini par l'utilisateur mais lorsque j'appelle le Sub testFunction avec l'argument testArray, VBA me renvoie l'erreur suivante:
http://i.imgur.com/ezUie.gif
 
Voici mon code:

Type testType
    Value As Long
    Address As String
End Type
 
Sub testSub()
    Dim testArray() As testType
    ReDim testArray(1 To 10)
    testArray(1).Value = 3
    testArray(1).Address = ActiveCell.Address
    testFunction (testArray)
End Sub
 
Sub testFunction(x)
    For Each i In x
        i.Value = Abs(i.Value)
    Next i
End Sub


 
Je ne comprends pas ce qui cloche. J'ai l'impression d'être dans le cas de la liaison anticipée vue que je déclare testArray avec "As testType"...
 
Au secours! Merci d'avance,
 :hello:


---------------
last.fm
mood
Publicité
Posté le 02-01-2012 à 22:47:26  profilanswer
 

n°2119676
SuppotDeSa​Tante
Aka dje69r
Posté le 05-01-2012 à 12:56:26  profilanswer
 

Hello
 
Le plus simple c'est de déclarer en public ta variable TestArray et que la fonction (ou le sub) TestFunction soit dépendant.
J'avoue ne jamais avoir eu à passer en parametre un tableau typé.
 
Exemple qui fonctionne :

Code :
  1. Type testType
  2.     Value As Long
  3.     Address As String
  4. End Type
  5.     Public TestArray() As testType
  6. Sub testSub()
  7.     ReDim TestArray(1 To 10)
  8.     TestArray(1).Value = 3
  9.     TestArray(1).Address = ActiveCell.Address
  10.     TestArray(2).Value = 4
  11.     TestArray(2).Address = ActiveCell.Address
  12.     testfunction
  13. End Sub
  14. Sub testfunction()
  15.     For i = 1 To UBound(TestArray)
  16.          TestArray(i).Value = Abs(TestArray(i).Value)
  17.     Next i
  18. End Sub


---------------
Soyez malin, louez entre voisins !
n°2120032
Cutter
Posté le 07-01-2012 à 00:57:45  profilanswer
 

Merci dje69r, mais mon problème venait en fait de la façon avec laquelle j'appelle la fonction... Il suffisait de supprimer les parenthèses autour de l'argument... :sweat:
Dire que j'ai perdu 5 jours là dessus... :D

 
Code :
  1. testFunction testArray


Et non:

Code :
  1. testFunction (testArray)


Message édité par Cutter le 07-01-2012 à 00:58:23

---------------
last.fm
n°2120040
SuppotDeSa​Tante
Aka dje69r
Posté le 07-01-2012 à 10:53:22  profilanswer
 

Et moi je n'ai meme pas tiqué...


---------------
Soyez malin, louez entre voisins !

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

  Problème avec Type défini par l'utilisateur...

 

Sujets relatifs
[Resolu] probleme en C : comparaison de chaine de caractereProblème avec file_exists
Problème de lecture d'un fichier avec freadProblème de margin sur mon site
[résolu]Problème déploiement et routage heroku.Probleme d'écriture sur un script
[C][OSX][LibSDL] Compilation OK, mais problème d'exécution...Problème avec les signaux
Petit problème de regexpproblème d'image sur un jeu
Plus de sujets relatifs à : Problème avec Type défini par l'utilisateur...


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