RESOLU [VBA] Gestion des erreurs

DonBeuBeu

XLDnaute Junior
Bonjour à tous,

Petit problème que je n'arrive pas à résoudre:

J'ai un code ou je souhaite ouvrir un fichier:

Code:
Sub test()

Dim référence As String

référence = Range("R3").Value

Const début_chemin = "F:\methodes_meca\B SEVESTRE\SMED optimisation changement série\Feuille d'op\"

Workbooks.Open Filename:=chemin & référence & ".xlsx", UpdateLinks:=False

End Sub

Remarquez le ".xlsx" sur l'avant dernière ligne, ils'agit de l’extension du fichier sauf que par moment sa peut être du xls, je voudrais donc que si il ne trouve pas le fichier, il re-tente de l'ouvrir avec l'extension ".xls"

J'ai déjà essayer des trucs du genre "On Error GoTo", sans succès...

Merci d'avance!!!
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : [VBA] Gestion des erreurs

Bonjour DonBeuBeu

A tester:

Code:
Sub test()
Dim référence As String
référence = Range("R3").Value
début_chemin = "F:\methodes_meca\B SEVESTRE\SMED optimisation changement série\Feuille d'op\"
On Error Resume Next
 Workbooks.Open Filename:=début_chemin & "\" & référence & ".xlsx", UpdateLinks:=False
If Err.Number <> 0 Then
  Workbooks.Open Filename:=début_chemin & "\" & référence & ".xls", UpdateLinks:=False
End If
On Error GoTo 0
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Gestion des erreurs

Bonjour,

essaye peut être ceci :

Code:
Dim chemin As String, fichier As String
chemin = "F:\methodes_meca\B SEVESTRE\SMED optimisation changement série\Feuille d'op\"
fichier = Dir(chemin & "classeur.xl*")
If fichier <> "" Then Workbooks.Open Filename:=chemin & fichier, UpdateLinks:=False

bonne journée
@+

Edition : bonjour PierreJean:)
 

DonBeuBeu

XLDnaute Junior
Re : [VBA] Gestion des erreurs

Edit

Merci pour vos réponse!!!

Pierrejean: Le problème c'est que si il ouvre bien le .xlsx, il cherche le fichier en .xls, qui n’existe pas et donc affiche un message d'erreur...

Pierrot: Il ne se passe rien :eek:
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : [VBA] Gestion des erreurs

bonjour à tous

peut-être:
Code:
Dim référence As String
référence = Range("R3").Value

Const chemin = "C:\...\...\...\...\"         ' a mettre à jour !

If Dir(chemin & référence & ".xlsx") = "" Then
    Workbooks.Open Filename:=chemin & référence & ".xls", UpdateLinks:=False
Else
    Workbooks.Open Filename:=chemin & référence & ".xlsx", UpdateLinks:=False
End If

Bonne suite
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : [VBA] Gestion des erreurs

Re

Curieux !!!

Il semblerait qu'il y ait erreur même si l'ouverture du .xlsx est effective
De même ,il n'est pas normal qu'il ne se passe rien avec le code de Pierrot (Attention remplacer classeur par reference)
 

Statistiques des forums

Discussions
312 370
Messages
2 087 678
Membres
103 635
dernier inscrit
aime nguessanj