Bonjour a tous
bon j'ai la macro de conversion en binaire qui fonctionne elle est destinée a remplacer celle du convertisseur de Silkyroad qui lui utilise un autre object bien trop lent
j'ai un seul petit soucis c'est le end of Stream que je ne sais pas comment l'obtenir avec cet Object
c'est ce qui est dan gros dans cette ligne qui ne me plait pas bien que j'ai trouver que ce moyen mais c'est pas joli
j'ai bien essayé "Size" mais non ca ne fonctionne pas
une idée???
Macro complete
Code : Sélectionner tout - Visualiser dans une fenêtre à part For b = 0 To ((Len(BB) / 10) * 21) - 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Sub readBytes() Dim ObjStream, BB, tablo(65536, 21) Dim Fichier Fichier = Application.GetOpenFilename("Fichiers Images (*.jpg;*.gif;*.bmp;*.png;*.jpeg),(*.jpg;*.gif;*.bmp;*.png;.jpeg)") If Fichier = False Then Exit Sub SnameIM = StrReverse(Split(StrReverse(Fichier), "\")(0)) 'Ajoute une feuille dans le claseur et la positionne à la fin. Set Feuille = ThisWorkbook.Worksheets.Add(After:=Sheets(Sheets.Count)) 'Renomme la feuille Feuille.Name = SnameIM ' ADODB stream object used Set ObjStream = CreateObject("ADODB.Stream") ' open with no arguments makes the stream an empty container ObjStream.Open ObjStream.Type = 1 ObjStream.LoadFromFile (Fichier) BB = ObjStream.Read() i = 1 For b = 0 To ((Len(BB) / 10) * 21) - 1 On Error Resume Next j = j + 1 If j = 21 Then j = 1 i = i + 1 End If tablo(i - 1, j - 1) = BB(b) Next Err.Clear Sheets(SnameIM).Cells(1, 1).Resize(65536, 21) = tablo MsgBox "Terminé" End Sub
Partager