Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[Résolu] limiter taille d'un fichier VB6

cavrom

XLDnaute Nouveau
Bonjour à tous ,
j'ai créé dans une interface un bouton permettant de parcourir mes fichier afin d'en sélectionner un. Le chemin et le nom du fichier s'affichent dans deux textbox respectives. J'aimerais qu'une troisième textbox affiche la taille du fichier.
Ensuite, j'aimerais que suivant la valeur de la taille du fichier, il soit accepté ou non ( taille max 500 Ko), lors du clique d'un bouton "send", que j'ai déjà créé.
Pourriez vous m'éclairer?
Pour l'instant mon code est :

Code:
Private Sub CommandButton1_Click()

Dim NAO As String

NAO = Application.GetOpenFilename

For i = Len(NAO) To 1 Step -1
If Mid(NAO, i, 1) = "\" Then lendossier = i: GoTo suite
Next
suite:
TextBox1.Value = Mid(NAO, 1, lendossier - 1)
TextBox2.Value = Mid(NAO, lendossier + 1, (Len(NAO) + 1) - lendossier)

End Sub

Merci de votre aide,
Cavrom
 
Dernière édition:

Softmama

XLDnaute Accro
Re : limiter taille d'un fichier VB6

Bonjour,

A moins que la taille du fichier soit écrite dans son chemin d'accès, je crains que tu ne doives changer de technique... Un peu plus compliquée, qui nécessite de cocher la référence 'Microsoft Scripting Runtime', ce bout de macro devrait t'aider :

VB:
Private Sub CommandButton1_Click()

Dim NAO As String

NAO = Application.GetOpenFilename

For i = Len(NAO) To 1 Step -1
If Mid(NAO, i, 1) = "\" Then lendossier = i: GoTo suite
Next
suite:
TextBox1.Value = Mid(NAO, 1, lendossier - 1)
TextBox2.Value = Mid(NAO, lendossier + 1, (Len(NAO) + 1) - lendossier)

 Dim Fso As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder
Dim FileItem As Scripting.File

    Set SourceFolder = Fso.GetFolder(Textbox1)
For each FileItem in SOurceFolder.files
  If FileItem = TextBox2 then TextBox3.Value = FileItem.Size
Next FileItem

End Sub

Je te laisse tester, par contre...
 

Softmama

XLDnaute Accro
Re : limiter taille d'un fichier VB6

Comme je te l'ai indiqué, tu dois cocher la référence 'Microsoft Scripting Runtime'. Pour cela, Depuis l'éditeur VBE, aller dans Options/ Références.
 

Softmama

XLDnaute Accro
Re : limiter taille d'un fichier VB6

Je ne vois pas d'où provient ton souci. Peux-tu mettre un bout de fichier afin que l'on puisse regarder de plus près ?
NB: En y regardant de plus près, je me rends compte que j'ai laissé une erreur je crois dans le code que je t'ai proposé, il faudrait remplacer
If FileItem = TextBox2 then TextBox3.Value = FileItem.Size
par
If FileItem.Name = TextBox2 then TextBox3.Value = FileItem.Size
Mais cela n'explique pas pourquoi la Fso n'est pas défini...
 

Dranreb

XLDnaute Barbatruc
Re : limiter taille d'un fichier VB6

Bonjour
Pourquoi pas plus simplement :
VB:
Textbox3.Value = FileLen(NAO)
À+
 

cavrom

XLDnaute Nouveau
Re : limiter taille d'un fichier VB6

Merci pour toutes ces réponse !
le code :
Code:
Private Sub CommandButton1_Click()

Dim NAO As String
Dim i As Long

NAO = Application.GetOpenFilename
i = InStrRev(NAO, "\")

If i > 0 Then
    TextBox1.Value = Left$(NAO, i - 1)
    TextBox2.Value = Mid$(NAO, i + 1)
End If

TextBox3.Value = FileLen(NAO)
End Sub
marche très bien.
Je cherche maintenant à établir une boucle If, me permettant, si le fichier est inférieur à 500 ko, de continuer comme si de rien n'était, mais s'il dépasse, d'afficher une MsgBox "la taille du fichier dépasse 500ko". Je pensais à un code du style :


Code:
If TextBox3.Value>105200 Then     '500 ko = 105200 o
MsgBox("la taille du fichier dépasse 500ko", 0,"taille fichier")

If TextBox3.Value<105200 Then Go To End If
End If


Je pense que cela est faux, mais en quoi ?
Encore merci de votre aide,
Cavrom
 

cavrom

XLDnaute Nouveau
Re : limiter taille d'un fichier VB6

En effet, sur internet je trouve que 1 ko = 1024 o soit 500 ko = 512000 ko. C'était une erreur d’inattention, merci!
Tout marche très bien,
Bonne journée à vous tous
 

Discussions similaires

Réponses
8
Affichages
681
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…