Bonjour,

J'ai une macro qui doit aller chercher un fichier Excel. Cependant ce fichier peut etre en format 2003 (xls) ou 2007 (xlsx). J'ai donc créé ce bout de code pour gérer la situation :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
'Ouverture du classeur
On Error Resume Next   'Gestion de l'erreur possible d'ouverture en format 2003
Set Classeur = ExcelApp.Workbooks.Open(Filename:="\\R.xls", UpdateLinks:=False, ReadOnly:=True) 'Ouverture sans mise à jour des liens, et mode lecture seule.
 
'Validation de l'ouverture du fichier en format 2003
If Classeur Is Nothing Then
    'Ouverture du classeur en format 2007
    Set Classeur = ExcelApp.Workbooks.Open(Filename:="\\R.xlsx", UpdateLinks:=False, ReadOnly:=True) 'Ouverture sans mise à jour des liens, et mode lecture seule.
End If
On Error GoTo 0   'Rétablissement de la gestion des erreurs normales
Cependant cela affiche un message d'erreur si le fichier est en format 2007. C'est qu'il ne trouve pas le format 2003 alors il affiche le message d'erreur et puis il cherche le format 2007.

Y aurait t-il une autre façon pour gérer tout ça.

Merci d'avance