Bonjour,
pour accélérer l'éxécution de mes programmes, j'utilise des tableau sous VBA dans un programme qui appel ensuite mes sous programmes.
dans chaques sous programme j'utilise la ligne
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 Option Explicit Public TableauTag() Public TableauUDT() Public TableauCSV() Public TableauProcess() Public DBi Public itab As Integer Public Num_iD As Long Public iTabUDT As Long Sub Main_Récup_SymbolicTagcsv() Call Ouverture_CSV Call Récupération_Adresse_Tags Call Liste_Process Call Structure_UDT_Siemens Call Structure_CSV_KEP Call Generer_vers_KEP
pour dimensionner mon tableau à la bonne taille.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'Définit la taille du tableau ReDim Preserve TableauTag(1 To 6, 1 To itab)
ça fonctionne jusque ici, je structure mes données dans un tableau pour ensuite les transférer dans le tableau suivant et passer l'étape.
Voilà globalement ce que contient le programme actuel, il peut probablement être amélioré, mais il est fonctionnel et me donne le résultat voulu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ...TableauCSV(9, itabComplet_CSV) = "null" 'Index (Lecture) TableauCSV(16, itabComplet_CSV) = "'False'" 'Tag Stilisateur(Notification) 'TableauCSV(17, itabComplet_CSV) = temporaire 'Adresse (Notification) TableauCSV(18, itabComplet_CSV) = "null" 'Index (Notification) TableauCSV(19, itabComplet_CSV) = TableauUDT(9, iBoucle_UDT + iDecompte) 'Condition TableauCSV(20, itabComplet_CSV) = TableauUDT(10, iBoucle_UDT + iDecompte) 'Valeur de déclenchement ...
J'ai besoin aujourd'hui d'ajouter une étape intermédiaire et pour cela un nouveau sous programme.
j'ai donc écrit le programme ci-contre qui n'est pas fini mais qui étapes par étapes me permet de tester l'intégration.
Seulement lorsque ce code s'éxécute, je suis incapable de lire le contenue du tableau précédent "TableauTag ()"....
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 Option Explicit Sub Liste_Process() Dim iboucleListe 'On boucle sur le tableauTag For iboucleListe = 1 To 1001 'On vérifie de ne pas être au bout de la liste If TableauTag(1, iboucleListe - 1) = "Vide" Then Exit For Else 'Sinon, on compléte les colonnes 'Définit la taille du tableau ReDim Preserve TableauProcess(1) TableauProcess(iboucleListe) = TableauTag(5, iboucleListe) End If Next End Sub
le tableau est bien lisible dans la "Fenêtre Variable local" avant d'entrer dans ce sous programme mais plus du tout une fois que je suis dedans.
je pense procéder de la même façon que pour mes codes précédents du coup je sèche un peux.....
n'hésitez pas à m'apporter vos lumières!
Merci d'avance!
Valery
Partager