Ubound sur Type [Résolu]

Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Dernière intervention
11 avril 2013
- - Dernière réponse : jrivet
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Derniè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 :-(

Merci d'avance pour toute votre aide,
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Dernière intervention
11 avril 2013
1
3
Merci
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

merci encore pour votre aide,

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 89 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_tulesais
Messages postés
37
Date d'inscription
vendredi 10 septembre 2004
Dernière intervention
11 mars 2007
0
Merci
Chez moi elle fonctionne, si tu as initialisé le tableau évidemment
Commenter la réponse de lemoret
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Dernière intervention
11 avril 2013
1
0
Merci
comment l'initialiser ?

redim ent(0)    suffit ?


merci pour ton aide lemoret !
Commenter la réponse de cs_tulesais
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
47
0
Merci
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 

@+: =89254 Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Dernière intervention
11 avril 2013
1
0
Merci
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 ?

merci beaucoup de vous pencher sur mon problème !
Commenter la réponse de cs_tulesais
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
47
0
Merci
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) 

Ou alors explique bien ce que tu souhaites faire

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
47
0
Merci
Re,

Si ton problème est résolu pense à appuyer sur réponse acceptée sur le ou les posts qui ont pu t'aider.
@ bientôt sur le forum

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.