Bonjour,
J'ai les structure suivantes :
A la suite je déclare la variable suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 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
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public tab_bat_sup() As batiment_sup
J'ai un formulaire que je vous joins
Dans ce formulaire j'ai le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 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
Partager