Option Explicit
Const Dossier_Carac = "D:\EXCEL\@EXCEL-DOWNLOADS\clochete"
Const Nom_carac = "Caracteristique.xlsx"
Const Feuil_Carac = "Feuil1"
Const Feuil_Dest = "Feuil4"
Private Sub Workbook_Open()
Dim Fichier_Carac As String
Application.ScreenUpdating = False
Fichier_Carac = Dossier_Carac & IIf(Right(Dossier_Carac, 1) = _
"\", "", "\") & Nom_carac
If MsgBox("Voulez-vous actualiser les données (O/N) ?", _
vbQuestion + vbYesNo + vbDefaultButton1) = vbYes Then
On Error Resume Next
If Workbooks(Nom_carac).Sheets.Count = 0 Then
On Error GoTo Err_OpenCarac
Workbooks.Open Fichier_Carac
End If
On Error GoTo Err_Feuil_Dest
ThisWorkbook.Sheets(Feuil_Dest).Cells.Delete
On Error GoTo Err_Feuil_Carac
Workbooks(Nom_carac).Sheets(Feuil_Carac).Cells.Copy
On Error GoTo 0
ThisWorkbook.Sheets(Feuil_Dest).Cells.PasteSpecial xlPasteValues
ThisWorkbook.Sheets(Feuil_Dest).Cells.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
Workbooks(Nom_carac).Close
End If
Application.Goto ThisWorkbook.Sheets(Feuil_Dest).Range("A1"), True
Application.ScreenUpdating = True
Exit Sub
Err_OpenCarac:
MsgBox "Impossible d'ouvrir le fichier:" & vbLf & Fichier_Carac
Exit Sub
Err_Feuil_Carac:
MsgBox "Impossible de trouver la feuille: """ & Feuil_Carac & """ du fichier" _
& vbLf & Fichier_Carac
Exit Sub
Err_Feuil_Dest:
MsgBox "Impossible de trouver la feuille: " & Feuil_Dest & _
" du fichier" & vbLf & ThisWorkbook.FullName
Exit Sub
End Sub