Bonjour le forum
j'ai fais une petite appli qui tourne bien et qui consiste a ouvrir trois fichier et en extraires des infos après qu'on lui eu désigné le bon repertoire., au départ, je l'avais créer en E2003.
ensuite, je l'ai modifié pour qu'elle tourne en E2008 ou getopenfilename ne fonctionne plus
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 Sub bilan() Dim stFichier stFichier = Application.GetOpenFilename With Application.FileSearch .NewSearch .LookIn = cheminbalance(stFichier) .Execute On Error Resume Next ScreenUpdating = False For Each f In .FoundFiles Workbooks.Open f 'ici, le code ouvre en boucle les trois fichiers que contient le repertoire ' et tout marche bien Next f End Sub
mais voila, je dois la modifier, et si moi je travaille en 2008, l'appli va tourner sur d'autres excels que je ne connais pas. comment je peux faire ?
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 Sub lameme_avec_2008() Dim fd As FileDialog, NC As Variant, Chemin As String Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd If .Show = -1 Then For Each NC In .SelectedItems Chemin = Left(NC, Len(NC) - InStr(StrReverse(NC), "\")) & "\" NomFich = Dir(Chemin & "\", vbNormal) Application.Visible = False Do While NomFich <> "" Workbooks.Open Chemin & NomFich 'ici le code Next NC End Sub
ma question est : est il possible de faire fonctionner l'une ou l'autre des deux façons en fonction de la detection de la version d'excel ?
merci d'avance.
edit
ou bien, existe t'il une méthode qui fonctionne sur toutes les versions ?
question connexe , puis je réinstaller mon viel excel 2003 parallellement a excel 2008 pour faire des tests ?
Partager