1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
Private Sub FichierExcel()
Dim i As Integer
On Error GoTo TraiteErreur
'Test de l'existence du fichier
chemin = Dir(App.Path & "\Documents\Liste-des-prenoms.xls")
If chemin = "" Then 'creation du fichier
Workbooks.Add
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Liste des prenoms"
Columns(1).ColumnWidth = 10
Columns(2).ColumnWidth = 2
Columns(3).ColumnWidth = 12
ActiveWorkbook.SaveAs filename:=App.Path & "\Documents\Liste-des-prenoms.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
ActiveWorkbook.Close
Set exc = Nothing
End If
If IsFileOpen(App.Path & "\Documents\Liste-des-prenoms.xls") = False Then 'Alors je l'ouvre
Set appExcel = CreateObject("Excel.Application")
Set wbExcel = appExcel.Workbooks.Open(App.Path & "\Documents\Liste-des-prenoms.xls")
appExcel.DisplayAlerts = wdAlertsNone 'supprime les alertes de excel=> "Voulez vous sauvegarder? etc..."
appExcel.Visible = True
Else
Set wbExcel = GetObject(App.Path & "\Documents\Liste-des-prenoms.xls")
wbExcel.Activate
End If
Set FeuilleExcel = wbExcel.Sheets(1)
FeuilleExcel.Cells.Clear
Exit Sub
End Sub
Function IsFileOpen(filename As String)
Dim filenum As Integer, errnum As Integer
On Error Resume Next ' Arrête la gestion d'erreur.
filenum = FreeFile() ' récupère un numéro de fichier libre.
'tentative pour ouvrir un fichier
Open filename For Input Lock Read As #filenum
Close filenum ' ferme le fichier.
errnum = err ' Sauvegarde du N° de l'erreur qui s'est produite.
On Error GoTo 0 ' Reprise de la gestion d'erreur.
'Détermine la nature de l'erreur qui s'est produite.
Select Case errnum
Case 0 'Pas d'erreur, Le fichier n'est pas déjà ouvert par un autre utilisateur.
IsFileOpen = False
Case 70 'Gestion de l'erreur "autorisation refusée",Le fichier est déjà ouvert par un autre utilisateur
IsFileOpen = True
' Autre type d'erreur
Case Else
Error errnum
End Select
End Function |
Partager