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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| '/*******************************************************/
'/* Programme : CATPART2JPG.xlsm */
'/* Objectif : CONVERTIR DES CATPART EN JPG */
'/* Date : 29/04/2016 */
'/* Version : 1.0 */
'/*******************************************************/
Option Explicit
Sub CATPART2JPG()
'Déclaration des variables
Dim INDEX As Integer
Dim NB_FILES As Integer
Dim INTFILENUM%, JPEGFILE%, BYTTEMP(0 To 3) As Byte
Dim MSG, F_CATPART, F_JPG As String
'Calcul le nombre de fichier CATPART à convertir en JPG
NB_FILES = WorksheetFunction.CountA(Range("A:A"))
'Message d'erreur
If NB_FILES = 0 Then
MSG = MsgBox("Aucun fichier CATPART à convertir en JPG." & Chr(10) & "Veuillez exécuter le programme FILES, svp.", vbOKOnly + vbExclamation, "CATPART2JPG")
Exit Sub
End If
'COMPTEUR
For INDEX = 1 To NB_FILES
F_CATPART = Cells(INDEX, 1)
F_JPG = Cells(INDEX, 2)
INTFILENUM = FreeFile
Open F_CATPART For Binary Access Read As INTFILENUM
Do While Not EOF(INTFILENUM)
BYTTEMP(0) = BYTTEMP(1)
BYTTEMP(1) = BYTTEMP(2)
BYTTEMP(2) = BYTTEMP(3)
Get INTFILENUM, , BYTTEMP(3)
If BYTTEMP(0) = 255 And BYTTEMP(1) = 216 And BYTTEMP(2) = 255 And BYTTEMP(3) = 224 Then
JPEGFILE = FreeFile
Open F_JPG For Binary Access Write Lock Write As JPEGFILE
Put JPEGFILE, , BYTTEMP
ElseIf JPEGFILE > 0 Then
If BYTTEMP(2) = 255 And BYTTEMP(3) = 217 Then
Put JPEGFILE, , BYTTEMP(2) & BYTTEMP(3)
Close JPEGFILE
JPEGFILE = 0
Exit Do
Else
Put JPEGFILE, , BYTTEMP(3)
End If
End If
Loop
Close INTFILENUM
Cells(INDEX, 3) = "X"
Next
MSG = MsgBox("Conversion terminée avec succès.", vbOKOnly + vbInformation, "CATPART2JPG")
End Sub
Sub FILES()
Application.ScreenUpdating = False
'Déclaration des variables
Dim MSG, FICHIER As String
Dim CHEMIN As String
Dim INDEX As Integer
'Définit le répertoire contenant les fichiers
CHEMIN = InputBox("Veuillez entrer le chemin d'accès" & Chr(10) & "des CATPART à convertir en JPG, svp.", "FILES")
'Message d'erreur
If CHEMIN = "" Or EXISTE(CHEMIN) = False Then
MSG = MsgBox("Erreur sur le chemin d'accès.", vbOKOnly + vbExclamation, "FILES")
Application.ScreenUpdating = True
Exit Sub
End If
CHEMIN = CHEMIN & "\"
FICHIER = Dir(CHEMIN & "*.*")
INDEX = 0
Do While Len(FICHIER) > 0
INDEX = INDEX + 1
Cells(INDEX, 1) = CHEMIN & FICHIER
Cells(INDEX, 2) = CHEMIN & Mid(FICHIER, 1, InStrRev(FICHIER, ".") - 1) & ".JPG"
FICHIER = Dir()
Loop
Cells.Select
Cells.EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Function EXISTE(DOSSIER As String) As Boolean
EXISTE = Dir(DOSSIER, vbDirectory) <> ""
End Function |
Partager