Erreur 458 sur écriture de fichier avec PUT

Résolu
Signaler
Messages postés
69
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
4 mars 2013
-
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
-
Bonjour,

Je ne m'en sors pas, voici mon code :

Dim nom_fic As String
Dim taille_fic As Long
Dim bru_var1, bru_var3 As Byte

Private Sub Form_Load()
file1_select.Show 1
nom_fic = file1_select.Dir1 & "" & file1_select.File1

Open nom_fic For Binary As #1
taille_fic = LOF(1)

For i = 1 To taille_fic
Get #1, , bru_var1
var2 = CInt(var1) Xor 85
var3 = CByte(var2)
Put #1, , bru_var3
Next i

Close #1

Unload file1_select
Unload Form1

End Sub

j'obtiens donc l'erreur 458.

Si j'enlève la définition de bru_var3 (Dim bru_var1 As Byte uniquement), pas d'erreur.
De plus le pb est que si la donnée est variable, le PUT écrit 2 octets avant la variable.

Quelqu'un peut m'aider?

Zifnig

2 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
c'est quoi var1, var2, et var3 ?

Dim bru_var1 As Byte

For i = 1 To taille_fic
Get #1,i, bru_var1
Put #1,i, CByte(bru_var1 Xor 85)
Next i

Daniel
3
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Bonsoir
Quand tu écris :
Dim bru_var1, bru_var3 As Byte

tu déclares
bru_var3 comme octet (byte)
bru_var1 comme variant

Essaie
Dim bru_var1 As Byte, bru_var3 As Byte
'....
bru_var3 = CByte(var2)
'....
0