Problème pour accéder aux données d'une feuille dans un fichier .XLAM
Bonjour,
J'ai regroupé depuis longtemps mes fonctions personnalisées dans un fichier .xla.
Ces fonctions utilisent des paramètres inscrits dans des fichiers excel séparés.
Avec excel 2013, j'ai enregistré mon fichier .xla au format .xlam, et j'ai transféré les feuilles de paramètres des fichiers excel directement dans le fichier .xlam
Mon problème vient du fait que je n'arrive pas à récupérer ces données dans les fonctions personnalisées.
Dans la fonction ci-dessous, le paramètre typ_tub correspond à une zone nommée de la feuille de données du fichier .xlam
j'ai essayé différentes façons pour définir ztub,
Code:
1 2 3
| ztub = typ_tub
ztub = range(typ_tub)
ztub = range("Tubes."&typ_tub) |
etc ...
mais à chaque fois, la fonction se termine sur la ligne "ztub = ..." sans signaler d'erreur et bien sûr sans avoir récupéré de données.
Si quelqu'un à une idée de mon problème, toute aide sera la bienvenue.
Merci d'avance
Code:
1 2 3 4 5 6 7
| Function diam_int(diametre, Optional typ_tub = "PE_6")
Dim il, i As Long
Dim ztub As Range
ztub = Workbooks("MonFichier.xlam").Sheets("Tubes").Range(typ_tub).Select
il = ztub.Rows.Count
For i = 1 To il
..... |
Solution pour accéder aux données d'une feuille dans le fichier .xlam
La syntaxe exacte est: set ztub = workbooks("Monfichier.xlam").Sheets("Tubes").Range(typ_tub)
typ_tub étant la variable qui contient le nom de la zone nommée.
Cela fonctionne également parfaitement avec set ztub = workbooks("Monfichier.xlam").Sheets("Tubes").Range("a1:c25")
Les deux points qui semblent importants sont le set en début de ligne et l'extension du fichier ".xlam". J'ai essayé sans et la fonction se termine sans erreur mais également sans rien faire.
Merci beaucoup Eric car ton message m'a mis sur la bonne piste.