• Initiateur de la discussion Initiateur de la discussion wahoo31
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

W

wahoo31

Guest
Bonjour le forum

j'aurais voulu savoir si il est possible d'archiver avec winzip, un dossier contenant des fichiers excel et de placer cette archive dans un autre dossier, puis de supprimer le premier dossier et les fichiers, tout cela par une macro
 
Bonjour wahoo31 et le forum,

Essaye ceci (faire éventuellement une sauvegarde préalable du dossier à zipper...) :

Sub Zip_And_Delete()

Dim sDossier As String
Dim sArchive As String

sDossier = "C:\MonDossier" 'Dossier contenant les fichiers à zipper
sArchive = "C:\MonAutreDossier\" & Dir(sDossier, vbDirectory) & ".zip" 'Chemin et nom de l'archive

'Zip du dossier (C:\MonDossier -> C:\MonAutreDossier\MonDossier.zip)
Shell """C:\Program Files\Winzip\Winzip32.exe""" & " -min -a " & sArchive & " " & sDossier, vbHide

'Suppression du dossier d'origine
If MsgBox("Voulez-vous supprimer le dossier '" & sDossier & "' et son contenu ?", vbYesNo Or vbQuestion) = vbYes Then
Kill sDossier & "\*.*"
RmDir sDossier
End If

End Sub

Le chemin de Winzip32.exe est à adapter. Pour les paramètres, voir le lien ci-dessous :

<http://www.winzip.com/xcmdline.htm>


Slts

wally
 
merci wally ton truc marche très bien mais je n'arrive pas a le transposer pour mon dossier

je me permet de te donner le chemin de mon dossier et celui ou l'archive doit aller, peut tu me le transformer

dossier a archiver
e:\CL_TRACTIO\Vidange charbon\ Range ("B6")

dossier ou placer l'archive

e:\CL_TRACTIO\Vidange charbon\Mois precedents\
avec pour nom de l'archive la valeur du range ("B6")

merci d'avance
 
Bonsoir wahoo31 et le forum,

Voici une possibilité :

Dim SChemin As String
Dim SDossier As String
Dim SArchive As String

SChemin = "e:\CL_TRACTIO\Vidange charbon\"
SDossier = SChemin & Worksheets("Feuil1").Range("B6")
SArchive = SChemin & "Mois precedents\" & Worksheets("Feuil1").Range("B6") & ".zip"

Il faut remplacer "Feuil1" par le nom de ta feuille. Le reste du code reste identique.


Slts

wally
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
154
Retour