Bonjour,
J'ai les structure suivantes :
Code :
- Type dataTab_sup
- id As String
- name As String
- localisation As String
- type_sup As String
- ipAddr As String
- numLicense As String
- memPhi As String
- dateAcqui As String
- dd As String
- os As String
- resEcran As String
- printer As String
- End Type
- Type local_sup
- id As Integer
- name As String
- dataTab_s() As dataTab_sup
- End Type
- Type batiment_sup
- id As Integer
- name As String
- local_s() As local_sup
- End Type
|
A la suite je déclare la variable suivante :
Code :
- Public tab_bat_sup() As batiment_sup
|
J'ai un formulaire que je vous joins
http://cjoint.com/?0Aeo5gXhzTT
Dans ce formulaire j'ai le code suivant :
Code :
- Option Explicit
- Public indice_bat As Integer
- 'Initialisation du formulaire
- Private Sub UserForm_Initialize()
- Dim cmp As Integer
- On Error GoTo fin:
- If UBound(tab_bat_sup) <> -1 Then
- 'Ajout dans la liste déroulante modifiable tous les batiments déjà créés
- For cmp = 0 To UBound(tab_bat_sup)
- bat_sup.AddItem tab_bat_sup(cmp).name, cmp
- Next cmp
- End If
- fin:
- End Sub
- Private Sub Suivant_bat_sup_Click()
- Unload Me
- Loc_form_sup.Show
- End Sub
- Private Sub Ajouter_bat_sup_Click()
- 'Variable statique qui permet de savoir le numero du batiment que l'on souhaite ajouter
- Static i As Integer
- 'Variable statique initialisée à 0
- ReDim Preserve tab_bat_sup(i)
- tab_bat_sup(i).id = i
- tab_bat_sup(i).name = CStr(bat_sup.Value)
- indice_bat = i
- 'Incrémentation du compteur
- i = i + 1
- End Sub
|
Le but de ce code est d'enregistrer les informations saisies dans la structure et d'ajouter les noms de bâtiments dans la liste modifiable.
Seulement voila ma variable i ne s'incrémente pas ! Impossible de redimensionner le tableau ! Impossible d'affecter la valeur saisie dans la liste !
Une variable statique est censée garder sa valeur à chaque appel de fonction cela ne veut pas dire que l'on ne peut pas y toucher --'. J'ai vu des exemples sur le forum qui me le prouve !
Merci d'avance
Cordialement
Winflow
Message édité par rohffr le 05-01-2014 à 18:32:15