Microsoft 365 [Résolu] VBA : bizarrerie création de fichier .zip

dionys0s

XLDnaute Impliqué
Bonjour le forum,

via divers recherches (ici notamment), j'ai la fonction suivante qui me permet de créer une archive vide :

VB:
Public Function Create(ByVal ZipFileFullName As String) As Shell32.Folder

  Dim FileNumber As Long

  Let FileNumber = VBA.FreeFile
  Open ZipFileFullName For Output As #FileNumber
  Print #FileNumber, VBA.Chr$(80) & VBA.Chr$(75) & VBA.Chr$(5) & VBA.Chr$(6) & VBA.String$(18, 0)
  Close #FileNumber

  with New Shell32.Shell
    Set Create = .NameSpace(ZipFileFullName)
  End With

End Function

Mon archive est bien crée suite à l'exécution de la fonction. Toutefois, j'observe que lorsque j'ouvre dans 7zip l'archive créée, je ne peux pas ajouter de dossier (clic droit => créer un dossier) : l'option est désactivée.
Capture d'écran 2023-03-20 140834.png


Et si j'essaie avec le raccourci (F7), j'ai un message d'erreur :
F7.png


Maintenant, si j'ouvre mon archive dans Notepad++, j'observe qu'il y a 2 lignes dans mon fichiers. La deuxième est vide. Je la supprime, sauvegarde et ferme l'archive dans Notepad++, la réouvre dans 7zip, alors l'option créer dossier est accessible et elle fonctionne normalement.

Comment se fait-il qu'une ligne vide soit ajoutée à la fin du fichier ? Puis-je remédier à ce problème directement dans la fonction ?
D'avance, merci pour votre aide ^^

Edit : résolu, j'ai trouvé la réponse ici : ajouter un point-virgule à la fin de l'instruction Print
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 094
Messages
2 116 145
Membres
112 669
dernier inscrit
Guigui2502