Bonjour,
Je me présente :
-niveau vb Excel pas terrible
-Aime toutefois ronger des nonos pour fabriquer des petites applications.

Conteste : faire une macro qui lit des valeurs dans une feuille Excel et me ressort le Array que j'applique à un listbox.x (désolant de simplicité pourtant)

Le problème :
Une variable Public : Public dercol As Variant ou Public myarray() As Variant

Précision : variables déclarés dans un module .. tout en haut.

Quand je passe à travers des Sub XXX simples comme : Call testmavar ()

No problèmes les valeurs passent entre les macros.

Quand je passe à travers des Sub XXX à arguments comme : Sub Trie_table(nom_fic, col_trie, Ordre)

Et ben je perd tout !!

1) question : pourquoi
2) question : ais-je été clair ??
Merci en tout cas
Thierry

Ci joint la macro qui m'efface toutes mes publiques :

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
Sub Transfert_data_listbox(nom_fic, del_col, ouiounon, ask1, ask2, ask3, myarray)
' Macro de transfert des tables initiales sans les "delete"
Call Trouver_derlin_dercol(nom_fic)
ReDim myarray(derlin, dercol)
j = 0
    For I = 1 To derlin
        Set cellulecourante = Worksheets(nom_fic).Cells(I, del_col)
        del = cellulecourante.Value
            If del = ouiounon Then
 
                'lecture des données
                Set cellulecourante = Worksheets(nom_fic).Cells(I, ask1)
                matrice(I, 1) = cellulecourante.Value
                Set cellulecourante = Worksheets(nom_fic).Cells(I, ask2)
                matrice(I, 2) = cellulecourante.Value
                Set cellulecourante = Worksheets(nom_fic).Cells(I, ask3)
                matrice(I, 3) = cellulecourante.Value
 
                myarray(j, 1) = matrice(I, 1)
                myarray(j, 2) = matrice(I, 2)
                myarray(j, 3) = matrice(I, 3)
                j = j + 1
           End If
    Next I
End Sub