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
| Option Explicit
' ESSAYE D'OUVRIR LA BDD EN ECRITURE
Function Ouverture_BDD() As Variant
Dim LectureSeule As Boolean, Cpt As Long
Application.ScreenUpdating = False
Do
' ON TENTE 5 FOIS DE SUITE D'OUVRIR LA BDD EN ECRITURE
With Workbooks.Open(CheminBDD & NOM_BDD, , False, , PASSWORD)
LectureSeule = .ReadOnly
Cpt = Cpt + 1
If LectureSeule Then
.Close False
' AU BOUT DE 5 ECHECS, L'UTILISATEUR CHOISIS DE REESSAYER OU PAS
If Cpt = 5 Then
If MsgBox("La BDD est fermée en écriture, voulez-vous refaire une tentative ?", vbYesNo) = vbYes Then
Cpt = 0
Else
' SI ECHEC ET ARRETE DE L'UTILISATEUR
' ON RENVOIE UN FALSE
Ouverture_BDD = False
Exit Do
End If
End If
End If
End With
Loop While LectureSeule = True
' SI OUVERTURE REUSSIE
' ON RENVOIE UN OBJET WORKBOOK REPRESENTANT LA BDD
Set Ouverture_BDD = Workbooks(NOM_BDD)
Application.ScreenUpdating = True
End Function |
Partager