Comportement étrange GetOpenFilename

Will-e-coyote

XLDnaute Occasionnel
Bonjour le forum !

J'ai un petit soucis avec une macro que j'ai créée avec excel 2007. Tout fonctionnait a merveille jusqu'à ce que je transforme le fichier contenant la macro de .xls en .xlsm.

Pour faire simple cette macro a pour but de mettre à jour ce fichier par le biais d'extrait de base de données au format TSV (CSV). qui se trouvent dans plusieurs fichiers. Pour cela la macro lance un getOpenFilename et l'utilisateur choisi ses fichiers. Le resultat est donc stocké dans un tableau... Sauf que, et c'est la que cela devient étrange, dans la version .xls j'ai effectivement un tableau mais en .xlsm je n'ai qu'un seul nom de fichier....:confused:

Pour aller encore plus loin dans l'étrange, si, en version .xslm, je lance cette macro depuis l'interface VBA, ça fonctionne... idem en mode normal si je met un point d'arret en amont de la première manipulation de ce tableau (avec la syntaxe qui va bien).

D'aucun diront que je n'ai qu'à rester en .xls mais bon.... :eek:

Code:
    Dim NAfter, NBefore, AD_Newstart, FR_NewStart, i, n, j As Integer
    Dim Delta, FileToOpen As Variant
    Dim DestBook, MyPath, MyMsg As String
    Dim MyFilter As Filter
        
    On Error GoTo Defreeze
    Set MySelection = Selection
    DestBook = ActiveWorkbook.Name
    MyPath = Evaluate(Workbooks(DestBook).Names("TSV_Folder").RefersTo)
    NBefore = Range("AD_SOURCE").Rows.Count
    ChDrive MyPath
    ChDir MyPath
    ' Shows up Open file dialog box and GetOpenFilename method returns an array
    FileToOpen = Application.GetOpenFilename("TSV Files (*.tsv), *.tsv", , "FILES TO BE IMPLEMENTED", , True)
    
    With Workbooks(DestBook).Names("TSV_Folder")
        .Name = "TSV_Folder"
        .RefersTo = GetMyFilePath(FileToOpen(1)) 'One because all files should from the same folder
    End With

J'ai scruté les forums en vain...
Merci par avance pour vos suggestions

Will

PS: Je peux pas fournir le fichier lui meme en exemple...dsl:rolleyes:
 

Will-e-coyote

XLDnaute Occasionnel
Re : Comportement étrange GetOpenFilename

Re bonjour,

Je m'aperçois que je n'ai peut-être pas été assez précis..

Sous .xls la variable FileToOpen contient bien un tableau de la taille du nombre de fichier séléctionné...

Sous .xslm FileToOpen est sous forme string (Variant) et ne contient qu'un seul fichier... d'ou le plantage quand j'essaie de traiter cette variable comme elle devrait etre (Tableau)....

Encore merci pour votre implication:)
 

Statistiques des forums

Discussions
312 365
Messages
2 087 632
Membres
103 625
dernier inscrit
Smer