Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MINOT gilles
On 31 août, 09:15, fmvac wrote:
Bonjour,
Je suis à la recherche d'une solution VBA pour compresser un fichier.
Merci pour vos suggestions
tu colles ce code dans un module
Public Sub CompactCurrentDB() On Error GoTo CompactCurrentDB_Err
Dim LenCurDB As Long '// Grosseur actuelle de la base de donnée Dim LenUpdDB As Long '// Grosseur de la base de donnée lors du dernier Update Dim MaxDiff As Long '// Différence permise avant le compact automatique Dim db As Database
LenUpdDB = 10000 '// Inscrire ici la grosseur de votre MDB lors du Update LenCurDB = FileLen(Application.CurrentDb.Name) / 1024 MaxDiff = 2000 '// Autorise un maximum de 2 meg de différence
'// Si la différence entre "LenUpdDB" et "LenCurDB" est plus grande de 2 meg alors ' ont coche l'option "Compacter lors de la fermeture" à True sinon on remet à False
If LenCurDB - LenUpdDB > MaxDiff Then If MsgBox("Afin d'améliorer la performance de votre application il serait préférable d 'éffectuer une compression de la base avant la fermeture." & vbCrLf & vbCrLf & "Nous allons procéder à la compression immédiatement . Merci de patienter jusqu'à la fermeture complète pour eviter toute perturbation", vbOKOnly + vbQuestion, "Compacter les dossiers") Then Application.SetOption "Auto Compact", True End If Else Application.SetOption "Auto Compact", False End If
puis tu rappelle la fonction sur ton boton de sortie par exemple aavec call CompactCurrentDB
a plus
On 31 août, 09:15, fmvac <menon.flor...@sfr.fr> wrote:
Bonjour,
Je suis à la recherche d'une solution VBA pour compresser un fichier.
Merci pour vos suggestions
tu colles ce code dans un module
Public Sub CompactCurrentDB()
On Error GoTo CompactCurrentDB_Err
Dim LenCurDB As Long '// Grosseur actuelle de la base de donnée
Dim LenUpdDB As Long '// Grosseur de la base de donnée lors du dernier
Update
Dim MaxDiff As Long '// Différence permise avant le compact
automatique
Dim db As Database
LenUpdDB = 10000 '// Inscrire ici la grosseur de votre MDB lors
du Update
LenCurDB = FileLen(Application.CurrentDb.Name) / 1024
MaxDiff = 2000 '// Autorise un maximum de 2 meg de différence
'// Si la différence entre "LenUpdDB" et "LenCurDB" est plus grande
de 2 meg alors
' ont coche l'option "Compacter lors de la fermeture" à True sinon
on remet à False
If LenCurDB - LenUpdDB > MaxDiff Then
If MsgBox("Afin d'améliorer la performance de votre application il
serait préférable d 'éffectuer une compression de la base avant la
fermeture." & vbCrLf & vbCrLf & "Nous allons procéder à la compression
immédiatement . Merci de patienter jusqu'à la fermeture complète pour
eviter toute perturbation", vbOKOnly + vbQuestion, "Compacter les
dossiers") Then
Application.SetOption "Auto Compact", True
End If
Else
Application.SetOption "Auto Compact", False
End If
Je suis à la recherche d'une solution VBA pour compresser un fichier.
Merci pour vos suggestions
tu colles ce code dans un module
Public Sub CompactCurrentDB() On Error GoTo CompactCurrentDB_Err
Dim LenCurDB As Long '// Grosseur actuelle de la base de donnée Dim LenUpdDB As Long '// Grosseur de la base de donnée lors du dernier Update Dim MaxDiff As Long '// Différence permise avant le compact automatique Dim db As Database
LenUpdDB = 10000 '// Inscrire ici la grosseur de votre MDB lors du Update LenCurDB = FileLen(Application.CurrentDb.Name) / 1024 MaxDiff = 2000 '// Autorise un maximum de 2 meg de différence
'// Si la différence entre "LenUpdDB" et "LenCurDB" est plus grande de 2 meg alors ' ont coche l'option "Compacter lors de la fermeture" à True sinon on remet à False
If LenCurDB - LenUpdDB > MaxDiff Then If MsgBox("Afin d'améliorer la performance de votre application il serait préférable d 'éffectuer une compression de la base avant la fermeture." & vbCrLf & vbCrLf & "Nous allons procéder à la compression immédiatement . Merci de patienter jusqu'à la fermeture complète pour eviter toute perturbation", vbOKOnly + vbQuestion, "Compacter les dossiers") Then Application.SetOption "Auto Compact", True End If Else Application.SetOption "Auto Compact", False End If
puis tu rappelle la fonction sur ton boton de sortie par exemple aavec call CompactCurrentDB
a plus
3stone
Salut,
Le plus simple et performant est de cocher d'office cette propriété. Inutile d'attendre qu'une différence de taille (différence qui peut d'ailleurs être atteinte en qulques requêtes...)
Mais, je ne pense pas que le demandeur parle de "compactage" mais bien de "compression" - style ZIP.
Je suis à la recherche d'une solution VBA pour compresser un fichier.
Merci pour vos suggestions
tu colles ce code dans un module
Public Sub CompactCurrentDB() On Error GoTo CompactCurrentDB_Err
Dim LenCurDB As Long '// Grosseur actuelle de la base de donnée Dim LenUpdDB As Long '// Grosseur de la base de donnée lors du dernier Update Dim MaxDiff As Long '// Différence permise avant le compact automatique Dim db As Database
LenUpdDB = 10000 '// Inscrire ici la grosseur de votre MDB lors du Update LenCurDB = FileLen(Application.CurrentDb.Name) / 1024 MaxDiff = 2000 '// Autorise un maximum de 2 meg de différence
'// Si la différence entre "LenUpdDB" et "LenCurDB" est plus grande de 2 meg alors ' ont coche l'option "Compacter lors de la fermeture" à True sinon on remet à False
If LenCurDB - LenUpdDB > MaxDiff Then If MsgBox("Afin d'améliorer la performance de votre application il serait préférable d 'éffectuer une compression de la base avant la fermeture." & vbCrLf & vbCrLf & "Nous allons procéder à la compression immédiatement . Merci de patienter jusqu'à la fermeture complète pour eviter toute perturbation", vbOKOnly + vbQuestion, "Compacter les dossiers") Then Application.SetOption "Auto Compact", True End If Else Application.SetOption "Auto Compact", False End If
puis tu rappelle la fonction sur ton boton de sortie par exemple aavec call CompactCurrentDB
a plus
Salut,
Le plus simple et performant est de cocher d'office cette propriété.
Inutile d'attendre qu'une différence de taille (différence qui peut
d'ailleurs être atteinte en qulques requêtes...)
Mais, je ne pense pas que le demandeur parle de "compactage"
mais bien de "compression" - style ZIP.
On 31 août, 09:15, fmvac <menon.flor...@sfr.fr> wrote:
Bonjour,
Je suis à la recherche d'une solution VBA pour compresser un fichier.
Merci pour vos suggestions
tu colles ce code dans un module
Public Sub CompactCurrentDB()
On Error GoTo CompactCurrentDB_Err
Dim LenCurDB As Long '// Grosseur actuelle de la base de donnée
Dim LenUpdDB As Long '// Grosseur de la base de donnée lors du dernier
Update
Dim MaxDiff As Long '// Différence permise avant le compact
automatique
Dim db As Database
LenUpdDB = 10000 '// Inscrire ici la grosseur de votre MDB lors
du Update
LenCurDB = FileLen(Application.CurrentDb.Name) / 1024
MaxDiff = 2000 '// Autorise un maximum de 2 meg de différence
'// Si la différence entre "LenUpdDB" et "LenCurDB" est plus grande
de 2 meg alors
' ont coche l'option "Compacter lors de la fermeture" à True sinon
on remet à False
If LenCurDB - LenUpdDB > MaxDiff Then
If MsgBox("Afin d'améliorer la performance de votre application il
serait préférable d 'éffectuer une compression de la base avant la
fermeture." & vbCrLf & vbCrLf & "Nous allons procéder à la compression
immédiatement . Merci de patienter jusqu'à la fermeture complète pour
eviter toute perturbation", vbOKOnly + vbQuestion, "Compacter les
dossiers") Then
Application.SetOption "Auto Compact", True
End If
Else
Application.SetOption "Auto Compact", False
End If
Le plus simple et performant est de cocher d'office cette propriété. Inutile d'attendre qu'une différence de taille (différence qui peut d'ailleurs être atteinte en qulques requêtes...)
Mais, je ne pense pas que le demandeur parle de "compactage" mais bien de "compression" - style ZIP.
Je suis à la recherche d'une solution VBA pour compresser un fichier.
Merci pour vos suggestions
tu colles ce code dans un module
Public Sub CompactCurrentDB() On Error GoTo CompactCurrentDB_Err
Dim LenCurDB As Long '// Grosseur actuelle de la base de donnée Dim LenUpdDB As Long '// Grosseur de la base de donnée lors du dernier Update Dim MaxDiff As Long '// Différence permise avant le compact automatique Dim db As Database
LenUpdDB = 10000 '// Inscrire ici la grosseur de votre MDB lors du Update LenCurDB = FileLen(Application.CurrentDb.Name) / 1024 MaxDiff = 2000 '// Autorise un maximum de 2 meg de différence
'// Si la différence entre "LenUpdDB" et "LenCurDB" est plus grande de 2 meg alors ' ont coche l'option "Compacter lors de la fermeture" à True sinon on remet à False
If LenCurDB - LenUpdDB > MaxDiff Then If MsgBox("Afin d'améliorer la performance de votre application il serait préférable d 'éffectuer une compression de la base avant la fermeture." & vbCrLf & vbCrLf & "Nous allons procéder à la compression immédiatement . Merci de patienter jusqu'à la fermeture complète pour eviter toute perturbation", vbOKOnly + vbQuestion, "Compacter les dossiers") Then Application.SetOption "Auto Compact", True End If Else Application.SetOption "Auto Compact", False End If
puis tu rappelle la fonction sur ton boton de sortie par exemple aavec call CompactCurrentDB
a plus
fmvac
Bonjour,
Je crois que j'ai mal posé ma question.
Ce que je recherche, c'est le code vba pour compressé un fichier windows (ZIP) et non un compactage d'une base de donnée.
"3stone" a écrit :
Salut,
Le plus simple et performant est de cocher d'office cette propriété. Inutile d'attendre qu'une différence de taille (différence qui peut d'ailleurs être atteinte en qulques requêtes...)
Mais, je ne pense pas que le demandeur parle de "compactage" mais bien de "compression" - style ZIP.
MINOT gilles wrote: > On 31 août, 09:15, fmvac wrote: >> Bonjour, >> >> Je suis à la recherche d'une solution VBA pour compresser un fichier. >> >> Merci pour vos suggestions > > tu colles ce code dans un module > > Public Sub CompactCurrentDB() > On Error GoTo CompactCurrentDB_Err > > Dim LenCurDB As Long '// Grosseur actuelle de la base de donnée > Dim LenUpdDB As Long '// Grosseur de la base de donnée lors du dernier > Update > Dim MaxDiff As Long '// Différence permise avant le compact > automatique > Dim db As Database > > LenUpdDB = 10000 '// Inscrire ici la grosseur de votre MDB lors > du Update > LenCurDB = FileLen(Application.CurrentDb.Name) / 1024 > MaxDiff = 2000 '// Autorise un maximum de 2 meg de différence > > '// Si la différence entre "LenUpdDB" et "LenCurDB" est plus grande > de 2 meg alors > ' ont coche l'option "Compacter lors de la fermeture" à True sinon > on remet à False > > If LenCurDB - LenUpdDB > MaxDiff Then > If MsgBox("Afin d'améliorer la performance de votre application il > serait préférable d 'éffectuer une compression de la base avant la > fermeture." & vbCrLf & vbCrLf & "Nous allons procéder à la compression > immédiatement . Merci de patienter jusqu'à la fermeture complète pour > eviter toute perturbation", vbOKOnly + vbQuestion, "Compacter les > dossiers") Then > Application.SetOption "Auto Compact", True > End If > Else > Application.SetOption "Auto Compact", False > End If > > CompactCurrentDB_Exit: > Exit Sub > > CompactCurrentDB_Err: > MsgBox Error$ > Resume CompactCurrentDB_Exit > > End Sub > > puis tu rappelle la fonction sur ton boton de sortie par exemple aavec > call CompactCurrentDB > > a plus
Bonjour,
Je crois que j'ai mal posé ma question.
Ce que je recherche, c'est le code vba pour compressé un fichier windows
(ZIP) et non un compactage d'une base de donnée.
"3stone" a écrit :
Salut,
Le plus simple et performant est de cocher d'office cette propriété.
Inutile d'attendre qu'une différence de taille (différence qui peut
d'ailleurs être atteinte en qulques requêtes...)
Mais, je ne pense pas que le demandeur parle de "compactage"
mais bien de "compression" - style ZIP.
MINOT gilles wrote:
> On 31 août, 09:15, fmvac <menon.flor...@sfr.fr> wrote:
>> Bonjour,
>>
>> Je suis à la recherche d'une solution VBA pour compresser un fichier.
>>
>> Merci pour vos suggestions
>
> tu colles ce code dans un module
>
> Public Sub CompactCurrentDB()
> On Error GoTo CompactCurrentDB_Err
>
> Dim LenCurDB As Long '// Grosseur actuelle de la base de donnée
> Dim LenUpdDB As Long '// Grosseur de la base de donnée lors du dernier
> Update
> Dim MaxDiff As Long '// Différence permise avant le compact
> automatique
> Dim db As Database
>
> LenUpdDB = 10000 '// Inscrire ici la grosseur de votre MDB lors
> du Update
> LenCurDB = FileLen(Application.CurrentDb.Name) / 1024
> MaxDiff = 2000 '// Autorise un maximum de 2 meg de différence
>
> '// Si la différence entre "LenUpdDB" et "LenCurDB" est plus grande
> de 2 meg alors
> ' ont coche l'option "Compacter lors de la fermeture" à True sinon
> on remet à False
>
> If LenCurDB - LenUpdDB > MaxDiff Then
> If MsgBox("Afin d'améliorer la performance de votre application il
> serait préférable d 'éffectuer une compression de la base avant la
> fermeture." & vbCrLf & vbCrLf & "Nous allons procéder à la compression
> immédiatement . Merci de patienter jusqu'à la fermeture complète pour
> eviter toute perturbation", vbOKOnly + vbQuestion, "Compacter les
> dossiers") Then
> Application.SetOption "Auto Compact", True
> End If
> Else
> Application.SetOption "Auto Compact", False
> End If
>
> CompactCurrentDB_Exit:
> Exit Sub
>
> CompactCurrentDB_Err:
> MsgBox Error$
> Resume CompactCurrentDB_Exit
>
> End Sub
>
> puis tu rappelle la fonction sur ton boton de sortie par exemple aavec
> call CompactCurrentDB
>
> a plus
Ce que je recherche, c'est le code vba pour compressé un fichier windows (ZIP) et non un compactage d'une base de donnée.
"3stone" a écrit :
Salut,
Le plus simple et performant est de cocher d'office cette propriété. Inutile d'attendre qu'une différence de taille (différence qui peut d'ailleurs être atteinte en qulques requêtes...)
Mais, je ne pense pas que le demandeur parle de "compactage" mais bien de "compression" - style ZIP.
MINOT gilles wrote: > On 31 août, 09:15, fmvac wrote: >> Bonjour, >> >> Je suis à la recherche d'une solution VBA pour compresser un fichier. >> >> Merci pour vos suggestions > > tu colles ce code dans un module > > Public Sub CompactCurrentDB() > On Error GoTo CompactCurrentDB_Err > > Dim LenCurDB As Long '// Grosseur actuelle de la base de donnée > Dim LenUpdDB As Long '// Grosseur de la base de donnée lors du dernier > Update > Dim MaxDiff As Long '// Différence permise avant le compact > automatique > Dim db As Database > > LenUpdDB = 10000 '// Inscrire ici la grosseur de votre MDB lors > du Update > LenCurDB = FileLen(Application.CurrentDb.Name) / 1024 > MaxDiff = 2000 '// Autorise un maximum de 2 meg de différence > > '// Si la différence entre "LenUpdDB" et "LenCurDB" est plus grande > de 2 meg alors > ' ont coche l'option "Compacter lors de la fermeture" à True sinon > on remet à False > > If LenCurDB - LenUpdDB > MaxDiff Then > If MsgBox("Afin d'améliorer la performance de votre application il > serait préférable d 'éffectuer une compression de la base avant la > fermeture." & vbCrLf & vbCrLf & "Nous allons procéder à la compression > immédiatement . Merci de patienter jusqu'à la fermeture complète pour > eviter toute perturbation", vbOKOnly + vbQuestion, "Compacter les > dossiers") Then > Application.SetOption "Auto Compact", True > End If > Else > Application.SetOption "Auto Compact", False > End If > > CompactCurrentDB_Exit: > Exit Sub > > CompactCurrentDB_Err: > MsgBox Error$ > Resume CompactCurrentDB_Exit > > End Sub > > puis tu rappelle la fonction sur ton boton de sortie par exemple aavec > call CompactCurrentDB > > a plus
3stone
Salut,
fmvac wrote:
Ce que je recherche, c'est le code vba pour compressé un fichier windows (ZIP) et non un compactage d'une base de donnée.
Il y a déjà un moment... mais cela doit encore fonctionner ;-) http://www.vbfrance.com/codes/CLMZIP-IDEM-WINZIP_4054.aspx