Bonjour
J'avais un code pour compacter ma base de donnée en quittant le programme sur Excel 2003 et Windows 2000 qui fonctionnée bien.
Depuis que nous sommes passés sur Vista et Excel 2007 le compactage marche apparemment bien sauf qu'il me renomme une fois sur deux la base en planingTMP.mdb a la place de planing.mdb, donc impossible de rouvrir la base quand je l'appelle du programme Excel
Code ci-dessous
'compactage de la base de données avant de quitter le programme
Public Sub compactage()
Dim sNomBase, sNomBaseTemp As String
sNomBase = lettredisk & chemin
If sNomBase <> "" Then
sNomBaseTemp = lettredisk & Left(chemin, Len(chemin) - 4) & "TMP" & Right(chemin, 4)
DBEngine.CompactDatabase sNomBase, sNomBaseTemp
'effacer l'ancienne base
Kill sNomBase
'renommer la base
Name sNomBaseTemp As sNomBase
End If
End Sub
Public Sub gestion_base()
sNomBase = lettredisk & chemin
Sheets("menu").Range("A1:A1").Select
Selection.Value = Selection.Value - 1
test = Selection.Value
if sNomBase <> "" Then
db.Close
On Error GoTo pbCompact
Call compactage
Exit Sub
End If
pbCompact:
Exit Sub
End Sub
Merci d'avance de votre aide
Cordialement
J'avais un code pour compacter ma base de donnée en quittant le programme sur Excel 2003 et Windows 2000 qui fonctionnée bien.
Depuis que nous sommes passés sur Vista et Excel 2007 le compactage marche apparemment bien sauf qu'il me renomme une fois sur deux la base en planingTMP.mdb a la place de planing.mdb, donc impossible de rouvrir la base quand je l'appelle du programme Excel
Code ci-dessous
'compactage de la base de données avant de quitter le programme
Public Sub compactage()
Dim sNomBase, sNomBaseTemp As String
sNomBase = lettredisk & chemin
If sNomBase <> "" Then
sNomBaseTemp = lettredisk & Left(chemin, Len(chemin) - 4) & "TMP" & Right(chemin, 4)
DBEngine.CompactDatabase sNomBase, sNomBaseTemp
'effacer l'ancienne base
Kill sNomBase
'renommer la base
Name sNomBaseTemp As sNomBase
End If
End Sub
Public Sub gestion_base()
sNomBase = lettredisk & chemin
Sheets("menu").Range("A1:A1").Select
Selection.Value = Selection.Value - 1
test = Selection.Value
if sNomBase <> "" Then
db.Close
On Error GoTo pbCompact
Call compactage
Exit Sub
End If
pbCompact:
Exit Sub
End Sub
Merci d'avance de votre aide
Cordialement