cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 2013
-
19 déc. 2006 à 07:45
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
19 déc. 2006 à 09:08
Bonjour,
j'utilise les Type pour gérer un tableau à deux indices :
Public Type Adresse
Adresse_CP As String
Adresse_Ville As String
End Type
Public Type Entreprise
Entreprise_Siret As String
Entreprise_RaisonSociale as String
Entreprise_Adresse() as Adresse
End Type
Public ENT() As Entreprise
Quand j'essaye de déterminer la valeur maximum du Tableau ENT, cela fonctionne !
ubound (ENT)
Par contre, je n'arrive pas à déterminer la valeur maximum du Tableau Entreprise_Adresse.
Comment Faire svp ???
la commande ubound(ENT(1).Entreprise_Adresse) ne fonctionne pas :-(
cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 20132 19 déc. 2006 à 08:59
c'est bon !!! après 21 jours non stop, j'ai enfin pu trouver la réponse au problème !
désolé de vous avoir embeter sur cette erreur de ma part !
boucle
redim preserve ent(x)
redim preserve ent(x).entreprise_adresse(0)
(j'avais oublié de coder cette ligne apparemment très importante) :-)
fin boucle
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 19 déc. 2006 à 08:38
Salut,
Je rejoints [auteurdetail.aspx?ID= 338788 lemoret ]pour dire que cela fonctionne. IL aurait été bon de préciser l'erreur que te dit VB. Etait ce "Indice en dehors de la plage"... bref il aurait fallu en dire plus.
Testons ceci. que t'affiche le Msgbox chez toi?
Private Sub Form_Load()
ReDim ENT(0)
ReDim ENT(0).Entreprise_Adresse(0 To 16)
MsgBox UBound (ENT(0).Entreprise_Adresse)
End Sub
cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 20132 19 déc. 2006 à 08:49
effectivement j'ai bien l'erreur (9) : Indice en dehors de plage !
par contre, jrivet, en utilisant ton code (form_load) j'obtiens bien le nombre maximum d'occurences : 16 !
mais mon soucis, c'est que je souhaite utiliser le redim preserve et je n'ai donc pas, en début de programme, le nombre d'occurences maxi ...
comment faire alors ?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 19 déc. 2006 à 08:53
Salut,
En début de programme tu devras tout de meme utiliser le redim .... (0) pour initialiser mais ensuite tu peux essayer ceci:
'En faisant ceci ca devrait marcher Mais il faut au préalable avoir fait au moins
'ReDim ENT(X).Entreprise_Adresse(0)
ReDim Preserve ENT(X).Entreprise_Adresse(UBound(ENT(X).Entreprise_Adresse) + 1)