Application.FileSearch Sous 2003 et Application.FileDialog(msoFileDialogFolderPicker)

iStarOSX

XLDnaute Junior
Bonjour a tous.

Pfuuuuuuuuu, j'ai encore un probleme pour mon application et en plus sur une fonctionnalité sur laquel est basé toute mon appli que je développe depuis plusieurs semaines.

Bref, j'en suis :mad:

Voila, mon application est utilisé par des utilisateurs de XL 2003 et 2010.

Je me suis donc dis que si je faisai mon appli sous 2003, cela fonctionnerait obligatoirement sous 2010.

Sauf que j'utilise "Application.FileSearch" et que cela ne fonctionne plus depuis XL 2007.

Donc je fais un tour sur le super site ExcelDowload et la je trouve une discussion sur ce sujet, sauf que n'étant pas un pro de vba, je ne sais pas comment l'adapter a mon probleme.

https://www.excel-downloads.com/threads/nouveau-code-pour-application-filesearch.153773/


Et le code que j'utilise (il n'est pas de moi, je l'ai trouvé sur ExcelDowload) :
Code:
Private Sub Ini()
Dim Chem$, I&, Fs, Nbr&
  Chem = "C:\Program Files\RxL\RxLCAD\Catalogues"
  Nbr = Len(Chem) + 2
  Set Fs = Application.FileSearch
  ComboBox1.Clear

  With Fs
    .LookIn = Chem
    .Filename = "CAT_*.txt"
    If Fs.Execute > 0 Then
      For I = 1 To .FoundFiles.Count
        ComboBox1.AddItem Mid(.FoundFiles(I), Nbr)
      Next I
    Else
      MsgBox ("Pas de catalogue de radiateurs")
    End If
  End With
End Sub

Code:
Private Sub UserForm_Activate()
  Ini
  Chem = ThisWorkbook.Path & "\Catalogues"
  If ComboBox1.ListCount > 0 Then ComboBox1.ListIndex = 0
End Sub

Comment je peut faire pour que cela fonctionne quelque soit la version d'excel ?

Un grand merci a ceus qui pourront m'aider.
 

Pierrot93

XLDnaute Barbatruc
Re : Application.FileSearch Sous 2003 et Application.FileDialog(msoFileDialogFolderPi

Bonjour,

regarde peut être dans l'aide vba du coté de la fonction "Dir" devrait te permettre d'éviter l'utilisation de "FileSearch".

bonne journée
@+
 

tototiti2008

XLDnaute Barbatruc
Re : Application.FileSearch Sous 2003 et Application.FileDialog(msoFileDialogFolderPi

Bonjour iStarOSX, Bonjour Pierrot :)

La fonction Dir devrait passer sur les 2 versions, sinon pour des choses plus compliquées il te faudra voir vers FileSystemObject (FSO)

Code:
Private Sub Ini()
Dim Chem$, I&, Fic$
  Chem = "C:\Program Files\RxL\RxLCAD\Catalogues"
  Fic = Dir(Chem & "\CAT_*.txt")
  ComboBox1.Clear
  If Fic = "" Then
      MsgBox ("Pas de catalogue de radiateurs")
      Exit Sub
  End If
  Do Until Fic = ""
    ComboBox1.AddItem Fic
    Fic = Dir
  Loop
End Sub
 

iStarOSX

XLDnaute Junior
Re : Application.FileSearch Sous 2003 et Application.FileDialog(msoFileDialogFolderPi

Merci beaucoup Pierrot et tototiti2008.

Le code de tototiti2008 fonctionne parfaitement.

Malheureusement j'ai encore un problème de compatibilité entre Excel 2003 et 200(7) et (10).

Car j'ai une macro qui copie une feuille d'un fichier ".csv" dans mon classeur avec ce code :
Code:
Sub Deperditions()
Application.ScreenUpdating = False

Application.DisplayAlerts = False
ActiveWorkbook.Unprotect "toto"
    Sheets("Dpp").Delete
Application.DisplayAlerts = True

 
             NomFic = Application.GetOpenFilename("Text files (*.csv), *.csv") '(, , "programmes Presses")
        If NomFic <> False Then
            Workbooks.OpenText Filename:=NomFic, DataType:=1, Semicolon:=True, local:=True
        End If
    ActiveSheet.Name = "Dpp"
    Sheets("Deperditions").Move Before:=ThisWorkbook.Sheets("R1")

Application.ScreenUpdating = True

Sheets("Dpp").Select

Entetet_Dpp.Show False

End Sub

Mais comme mon classeur provient de excel 2003 et que je ne veux pas l'enregistrer au format "xlsm" pour qu'il soit toujours compatible avec excel 2003 celui ci comporte que 65536 lignes.
Et lorsque l'on utilise mon classeur sous excel 2007 ou 2010, ma macro ouvre un fichier ".csv" et donc lui met automatiquement 1048576 lignes et tente d'en faire une copie dans mon classeur Excel 2003 qui ne peut en comporter que 65536 et donc génère une erreur.

La encore je ne vois pas comment m'y prendre pour résoudre ce nouveau problème de compatibilité, mais je vais ouvrir un autre sujet pou cela car c'est un autre sujet.

Encore une fois merci beaucoup pour votre coup de main.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 448
Messages
2 088 500
Membres
103 871
dernier inscrit
julienleburton