Utiliser un tableau declare dans une sous-procedure
Bonjour,
J'ai besoin d'utiliser dans mon classeur principal (wb1), des donnees contenues dans un autre classeur (wb2). Pour cela, j'ai cree une sous procedure qui commence par ouvrir wb2, declare un tableau de taille variable, et enregistre les donnees qui m'interessent dans celui-ci.
J'appelle la sous-procedure dans la procedure principale et jusqu'ici pas de probleme, mais quand je souhaite utiliser les donnees du tableau declarees dans la sous-procedure, excel me renvoit l'erreur "sub or function not defined".
J'ai essaye de declarer le tableau "public" mais cela ne change rien.
Voici le code de la sous procedure pour donner une idee plus precise :
Code:
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 33 34 35 36 37 38 39 40 41 42 43
| Private Sub gp3_extract()
Dim ligne_insertion3 As Integer
Dim taille_gp3 As Integer
Dim lfdmax_gp3 As Integer
Dim lisinmax_gp3 As Integer
Dim fichier_gp3 As Workbook
Set fichier_gp3 = Workbooks("\\kephren.sf.ca.lux\hldusers$\IR0\Desktop\GP3")
fichier_gp3.Open
lfdmax_gp3 = range("J65536").End(xlUp).Row
lisinmax_gp3 = range("Q65536").End(xlUp).Row
If lfdmax_gp3 > lisinmax_gp3 Then 'determiner valeur variable taille
taille_gp3 = lfdmax_gp3
ElseIf lfdmax < lisinmax_gp3 Then
taille_gp3 = lisinmax_gp3
ElseIf lfdmax_gp3 = lisinmax_gp3 Then
taille_gp3 = lisinmax_gp3
End If
Public tab_gp3()
ReDim tab_gp3(taille - 1, 1)
ligne_insertion3 = 0
For i = 1 To taille_gp3
If range("J" & i) Like "###" Or range("J" & i) Like "#####" And range("Q" & i) Like "????????????" Then
tab_gp3(ligne_insertion3, 0) = range("J" & i) & range("Q" & i) 'attribution valeurs "KEY" dans premiere colonne
tab_gp3(ligne_insertion3, 1) = range("AV" & i) 'attribution valeurs "weight" dans seconde colonne
ligne_insertion3 = ligne_insertion3 + 1
End If
Next
End Sub |
Et voila comment j'appelle la sous-procedure et (essaye) de copier les donnes du tableau :
Code:
1 2 3 4 5 6 7 8
| gp3_extract
For v = 1 To taille_gp3
Sheets("Sheet2").range("A" & v) = tab_gp3(v - 1, 0)
Sheets("Sheet2").range("B" & v) = tab_gp3(v - 1, 1)
Next
fichier_gp3.Close |
Merci d'avance pour votre aide et bonne journee ;)