VBS- Traiter fichiers dans un répertoire
Résolu/Fermé
A voir également:
- VBS- Traiter fichiers dans un répertoire
- Wetransfer gratuit fichiers lourd - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Renommer plusieurs fichiers - Guide
- Comment ouvrir un fichier docx ? - Guide
22 réponses
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
10 oct. 2007 à 11:19
10 oct. 2007 à 11:19
Salut,
Laisse moi un peu de temps que j'me remette en tête le VBS et j'te dis ça... ;)
PS : il est 11h20, j'viens de me lever donc j'ai aussi la tête en vrac... :)
Laisse moi un peu de temps que j'me remette en tête le VBS et j'te dis ça... ;)
PS : il est 11h20, j'viens de me lever donc j'ai aussi la tête en vrac... :)
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
10 oct. 2007 à 11:43
10 oct. 2007 à 11:43
Alors, peux tu me donner un exemple de la structure d'un fichier log stp ? (savoir s'il y a plusieurs sauvegardes enregistrées sur le même fichier, donc plusieurs chaines <...> à rechercher ou une seule...etc...)
Euh... je sais pas lequel des deux a le cerveau le plus embrouillé, mais j'ai pas tout compris la finalité du script... Peux tu me redire précisement (avec des exemples si besoin) ce que tu veux ?
Et dois tu parcourir tous les fichiers d'UN répertoire (backup) ou le faire de façon récursive dans une arborescence ?
Euh... je sais pas lequel des deux a le cerveau le plus embrouillé, mais j'ai pas tout compris la finalité du script... Peux tu me redire précisement (avec des exemples si besoin) ce que tu veux ?
Et dois tu parcourir tous les fichiers d'UN répertoire (backup) ou le faire de façon récursive dans une arborescence ?
winzip
Messages postés
10
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007
10 oct. 2007 à 13:54
10 oct. 2007 à 13:54
Merci teteve de me répondre .
Je résume : J'ai un folder qui contient des logs. Je dois <gras>parcourir chaque log situé dans ce folder et extraire des informations que je dois stocker dans un seul fichier</gras> qui servira de statistique : il contiendra la somme de tous les backups, la fréquence des backups....
Voici le contenu d'un fichier backup (h:\Backup\user1-backup.log :
************************************************************************************************************************
Backup date: <27/06/2007 16:41:54>
Total size of the backup : <<678.692 Mb>>
************************************************************************************************************************
************************************************************************************************************************
Backup date: <13/07/2007 10:59:31>
Total size of the backup : <<696.333 Mb>>
************************************************************************************************************************
************************************************************************************************************************
Backup date: <24/08/2007 12:15:16>
Total size of the backup : <<710.514 Mb>>
************************************************************************************************************************
************************************************************************************************************************
Backup date: <14/09/2007 17:45:27>
Total size of the backup : <<747.748 Mb>>
************************************************************************************************************************
************************************************************************************************************************
Backup date: <19/09/2007 18:08:55>
Total size of the backup : <<755.377 Mb>>
************************************************************************************************************************
Comme tu peux le voir on a la date et la taille du backup.
Je dois aller extraire dans chaque fichier la valeur située entre les "< >" et les "<< >>"
Donc pour la taille totale, je dois prendre la dernière valeur dans chaque fichier et les additionner
Si tu as besoin de plus de précisions n'hésites pas . MERCI ENCORE !!!
Je résume : J'ai un folder qui contient des logs. Je dois <gras>parcourir chaque log situé dans ce folder et extraire des informations que je dois stocker dans un seul fichier</gras> qui servira de statistique : il contiendra la somme de tous les backups, la fréquence des backups....
Voici le contenu d'un fichier backup (h:\Backup\user1-backup.log :
************************************************************************************************************************
Backup date: <27/06/2007 16:41:54>
Total size of the backup : <<678.692 Mb>>
************************************************************************************************************************
************************************************************************************************************************
Backup date: <13/07/2007 10:59:31>
Total size of the backup : <<696.333 Mb>>
************************************************************************************************************************
************************************************************************************************************************
Backup date: <24/08/2007 12:15:16>
Total size of the backup : <<710.514 Mb>>
************************************************************************************************************************
************************************************************************************************************************
Backup date: <14/09/2007 17:45:27>
Total size of the backup : <<747.748 Mb>>
************************************************************************************************************************
************************************************************************************************************************
Backup date: <19/09/2007 18:08:55>
Total size of the backup : <<755.377 Mb>>
************************************************************************************************************************
Comme tu peux le voir on a la date et la taille du backup.
Je dois aller extraire dans chaque fichier la valeur située entre les "< >" et les "<< >>"
Donc pour la taille totale, je dois prendre la dernière valeur dans chaque fichier et les additionner
Si tu as besoin de plus de précisions n'hésites pas . MERCI ENCORE !!!
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
10 oct. 2007 à 14:23
10 oct. 2007 à 14:23
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objRep = objFSO.GetFolder("H:\Backup")
For Each file In objRep
Set objFile = objFSO.OpenTextFile(file)
Do Until objFile.AtEndOfStream
strData = ""
strSearchString = objFile.ReadLine
intStart = InStr(strSearchString, "<")
If intStart <> 0 Then
intStart = intStart + 2
strText = Mid(strSearchString, intStart, 250)
For i = 1 To Len(strText)
If Mid(strText, i, 1) = ">" Then
Exit For
Else
strData = strData & Mid(strText, i, 1)
End If
Next
Set objFile = Nothing
End if
Next
(j'ai laissé tel quel ton analyse de chaine...)
voilà déjà pour parcourir tous les fichiers...
Par contre je n'ai toujours pas compris comment tu veux ressortir tes données... créer un seul fichier avec :
date taille
date taille
date taille
...
Ou un fichier avec toutes les dernières tailles des sauvegardes ?
taille_user1
taille_user2
taille_user3
...
Set objRep = objFSO.GetFolder("H:\Backup")
For Each file In objRep
Set objFile = objFSO.OpenTextFile(file)
Do Until objFile.AtEndOfStream
strData = ""
strSearchString = objFile.ReadLine
intStart = InStr(strSearchString, "<")
If intStart <> 0 Then
intStart = intStart + 2
strText = Mid(strSearchString, intStart, 250)
For i = 1 To Len(strText)
If Mid(strText, i, 1) = ">" Then
Exit For
Else
strData = strData & Mid(strText, i, 1)
End If
Next
Set objFile = Nothing
End if
Next
(j'ai laissé tel quel ton analyse de chaine...)
voilà déjà pour parcourir tous les fichiers...
Par contre je n'ai toujours pas compris comment tu veux ressortir tes données... créer un seul fichier avec :
date taille
date taille
date taille
...
Ou un fichier avec toutes les dernières tailles des sauvegardes ?
taille_user1
taille_user2
taille_user3
...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
winzip
Messages postés
10
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007
10 oct. 2007 à 15:02
10 oct. 2007 à 15:02
Merci teteve pour ta rapidité !! je test ça...
Il faudrait un seul fichier qui contient la somme de tous les derniers backup effectué
Donc :
taille dernier backup-user1 + tailler dernier backup-user2 + ........
Tu vois ce que je veux dire ? N'hésites pas s'il te faut plus d'explications
Il faudrait un seul fichier qui contient la somme de tous les derniers backup effectué
Donc :
taille dernier backup-user1 + tailler dernier backup-user2 + ........
Tu vois ce que je veux dire ? N'hésites pas s'il te faut plus d'explications
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
10 oct. 2007 à 15:23
10 oct. 2007 à 15:23
J'regarde ça, j'viens enfin de retrouver la fonction qui me manquait... :)
(j'ai laissé toutes mes docs au boulot...)
(j'ai laissé toutes mes docs au boulot...)
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
10 oct. 2007 à 16:02
10 oct. 2007 à 16:02
en premier jet, voici ce que je te propose... A toi de le modifier après si besoin, ou de demander si tu ne comprends pas un passage...
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFiles = objFSO.GetFolder("H:\Backup").Files
dbleCompteur = 0
For Each file In objFiles
strFile = objFSO.OpenTextFile(file).ReadAll
IntStart = InStrRev(strFile, "<<") + 2
IntStop = InStrRev(strFile, ">>") - 4
IntLong = IntStop - IntStart
If IntStart <> 0 Then
strData = Replace(Mid(strFile, IntStart + 2, IntLong), ".", ",")
End If
dbleCompteur = dbleCompteur + CSng(strData)
Set strFile = Nothing
Next
' Tu as ta variable dbleCompteur qui contient la taille de toutes les dernières archives...
' L'écrire dans un fichier, dans une cellule Excel....
Cela correspond à tes attentes ?
PS : petit inconvénient de cette méthode, c'est que je charge tout le contenu du fichier texte dans la variable strFile.
A éviter en cas de gros fichiers, refaire une boucle sur chaque ligne (ou juste sur les premières en partant de la fin...)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFiles = objFSO.GetFolder("H:\Backup").Files
dbleCompteur = 0
For Each file In objFiles
strFile = objFSO.OpenTextFile(file).ReadAll
IntStart = InStrRev(strFile, "<<") + 2
IntStop = InStrRev(strFile, ">>") - 4
IntLong = IntStop - IntStart
If IntStart <> 0 Then
strData = Replace(Mid(strFile, IntStart + 2, IntLong), ".", ",")
End If
dbleCompteur = dbleCompteur + CSng(strData)
Set strFile = Nothing
Next
' Tu as ta variable dbleCompteur qui contient la taille de toutes les dernières archives...
' L'écrire dans un fichier, dans une cellule Excel....
Cela correspond à tes attentes ?
PS : petit inconvénient de cette méthode, c'est que je charge tout le contenu du fichier texte dans la variable strFile.
A éviter en cas de gros fichiers, refaire une boucle sur chaque ligne (ou juste sur les premières en partant de la fin...)
winzip
Messages postés
10
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007
10 oct. 2007 à 16:30
10 oct. 2007 à 16:30
Ok merci pour le code recherche entre les tags <<>>
MAintenant faut que je le fasse pour chaque fichier et ensuite additionner le résultat trouver dans chaque fichier. Au final je dois avoir la somme. La ou je cale c'est comment prendre le résultat trouvé dans chaque fichier , additionner le tout et le placer dans un fichier texte
Si tu pouvais m'aider..... PLZ
MAintenant faut que je le fasse pour chaque fichier et ensuite additionner le résultat trouver dans chaque fichier. Au final je dois avoir la somme. La ou je cale c'est comment prendre le résultat trouvé dans chaque fichier , additionner le tout et le placer dans un fichier texte
Si tu pouvais m'aider..... PLZ
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
10 oct. 2007 à 16:40
10 oct. 2007 à 16:40
regarde bien le code... c'est déjà fait...
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFiles = objFSO.GetFolder("H:\Backup").Files ' Je récupère l'objet "ensemble des fichiers du répertoire Backup"
dbleCompteur = 0 ' J'initialise le compteur (correspond au total des backups)
For Each file In objFiles ' Pour chaque fichier, je fais :
strFile = objFSO.OpenTextFile(file).ReadAll ' - j'ouvre le fichier, je le lis et je place le contenu dans la variable strFile
IntStart = InStrRev(strFile, "<<") + 2
IntStop = InStrRev(strFile, ">>") - 4 ' - je fais ma recherche pour avoir le dernier chiffre placé entre "<< >>"
IntLong = IntStop - IntStart
If IntStart <> 0 Then
strData = Replace(Mid(strFile, IntStart + 2, IntLong), ".", ",") ' je récupère le chiffre de taille (et j'remplace le "." par "," au passage)
End If
dbleCompteur = dbleCompteur + CSng(strData) ' j'additionne la taille trouvée (la dernière sauvegarde) au compteur global, donc = 0 au début, puis augmente au fur et à mesure
strFile = Nothing
Next ' Fin du traitement du premier fichier, je recommence avec le deuxième...etc...
A la fin de ta boucle, dbleCompteur a pour valeur la taille totale des sauvegardes... à toi d'en faire ce que tu veux... (l'écrire dans un fichier avec d'autre texte, dans un tableau excel...etc...)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFiles = objFSO.GetFolder("H:\Backup").Files ' Je récupère l'objet "ensemble des fichiers du répertoire Backup"
dbleCompteur = 0 ' J'initialise le compteur (correspond au total des backups)
For Each file In objFiles ' Pour chaque fichier, je fais :
strFile = objFSO.OpenTextFile(file).ReadAll ' - j'ouvre le fichier, je le lis et je place le contenu dans la variable strFile
IntStart = InStrRev(strFile, "<<") + 2
IntStop = InStrRev(strFile, ">>") - 4 ' - je fais ma recherche pour avoir le dernier chiffre placé entre "<< >>"
IntLong = IntStop - IntStart
If IntStart <> 0 Then
strData = Replace(Mid(strFile, IntStart + 2, IntLong), ".", ",") ' je récupère le chiffre de taille (et j'remplace le "." par "," au passage)
End If
dbleCompteur = dbleCompteur + CSng(strData) ' j'additionne la taille trouvée (la dernière sauvegarde) au compteur global, donc = 0 au début, puis augmente au fur et à mesure
strFile = Nothing
Next ' Fin du traitement du premier fichier, je recommence avec le deuxième...etc...
A la fin de ta boucle, dbleCompteur a pour valeur la taille totale des sauvegardes... à toi d'en faire ce que tu veux... (l'écrire dans un fichier avec d'autre texte, dans un tableau excel...etc...)
winzip
Messages postés
10
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007
10 oct. 2007 à 16:55
10 oct. 2007 à 16:55
AH ouais super teteve, je ne l'imaginais pas comme ça.
Je test mais j'ai une erreur : Type mismatch: 'CSng'
Merci pour ta patience
Je test mais j'ai une erreur : Type mismatch: 'CSng'
Merci pour ta patience
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
10 oct. 2007 à 17:17
10 oct. 2007 à 17:17
ah vi, je m'a planté... :-S
correction :
au lieu de :
IntStart = InStrRev(strFile, "<<") + 2
IntStop = InStrRev(strFile, ">>") - 4
IntLong = IntStop - IntStart
If IntStart <> 0 Then
strData = Replace(Mid(strFile, IntStart + 2, IntLong), ".", ",")
End If
mettre :
IntStart = InStrRev(strFile, "<<") +2
IntStop = InStrRev(strFile, ">>") - 3
If IntStart <> 0 Then
strData = Trim(Replace(Mid(strFile, IntStart, IntStop - IntStart), ".", ","))
End If
explications : j'ai supprimé IntLong qui n'apporte rien à part une variable en plus... Mais j'ai rajouté Trim "à priori inutile" juste pour en parler... :)) Il permet de supprimer les espaces au début et à la fin de la chaine de caractères.
et j'ai recalculé le -3 qui correspond au nombre de caractères " Mb" à supprimer à droite... (idem pour le +2 qui correspond au "<<")
J'sais pas si c'est très clair mais j'me suis compris...
correction :
au lieu de :
IntStart = InStrRev(strFile, "<<") + 2
IntStop = InStrRev(strFile, ">>") - 4
IntLong = IntStop - IntStart
If IntStart <> 0 Then
strData = Replace(Mid(strFile, IntStart + 2, IntLong), ".", ",")
End If
mettre :
IntStart = InStrRev(strFile, "<<") +2
IntStop = InStrRev(strFile, ">>") - 3
If IntStart <> 0 Then
strData = Trim(Replace(Mid(strFile, IntStart, IntStop - IntStart), ".", ","))
End If
explications : j'ai supprimé IntLong qui n'apporte rien à part une variable en plus... Mais j'ai rajouté Trim "à priori inutile" juste pour en parler... :)) Il permet de supprimer les espaces au début et à la fin de la chaine de caractères.
et j'ai recalculé le -3 qui correspond au nombre de caractères " Mb" à supprimer à droite... (idem pour le +2 qui correspond au "<<")
J'sais pas si c'est très clair mais j'me suis compris...
winzip
Messages postés
10
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007
10 oct. 2007 à 17:38
10 oct. 2007 à 17:38
Ouiiiiiin , j'ai toujours le message d'erreur : Type mismatch: 'CSng'
Je ne vois pas le problème. Tu peux copier ce code et l'essayer chez toi STP ? ( faut d'abord créer le folder et quelques fichiers )
Voici le fichier global :
Dim strData, objFiles, objFSO, objFile, dbleCompteur
Dim file, fichier, strFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFiles = objFSO.GetFolder("d:\backup\").Files
dbleCompteur = 0
For Each file In objFiles
strFile = objFSO.OpenTextFile(file).ReadAll
IntStart = InStrRev(strFile, "<<") +2
IntStop = InStrRev(strFile, ">>") - 3
If IntStart <> 0 Then
strData = Trim(Replace(Mid(strFile, IntStart, IntStop - IntStart), ".", ","))
End If
dbleCompteur = dbleCompteur + CSng(strData)
Set strFile = Nothing
Next
MsgBox("Le total des backups est : " & dbleCompteu & " Mb")
' creation du fichier qui stocke les infos
Set FSO = CreateObject("Scripting.FileSystemObject")
Set fichier = FSO.OpenTextFile("d:\BackupSize.txt", 2, True)
fichier.WriteLine Rtrim(dbleCompteur)
fichier.Close
MERCI ENCORE de ton aide et ta patience. J'espère vraiment qu'on y arrivera...
Tu es disponible aussi en soirée ? car je continuerai aussi ce soir assez tard
Je ne vois pas le problème. Tu peux copier ce code et l'essayer chez toi STP ? ( faut d'abord créer le folder et quelques fichiers )
Voici le fichier global :
Dim strData, objFiles, objFSO, objFile, dbleCompteur
Dim file, fichier, strFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFiles = objFSO.GetFolder("d:\backup\").Files
dbleCompteur = 0
For Each file In objFiles
strFile = objFSO.OpenTextFile(file).ReadAll
IntStart = InStrRev(strFile, "<<") +2
IntStop = InStrRev(strFile, ">>") - 3
If IntStart <> 0 Then
strData = Trim(Replace(Mid(strFile, IntStart, IntStop - IntStart), ".", ","))
End If
dbleCompteur = dbleCompteur + CSng(strData)
Set strFile = Nothing
Next
MsgBox("Le total des backups est : " & dbleCompteu & " Mb")
' creation du fichier qui stocke les infos
Set FSO = CreateObject("Scripting.FileSystemObject")
Set fichier = FSO.OpenTextFile("d:\BackupSize.txt", 2, True)
fichier.WriteLine Rtrim(dbleCompteur)
fichier.Close
MERCI ENCORE de ton aide et ta patience. J'espère vraiment qu'on y arrivera...
Tu es disponible aussi en soirée ? car je continuerai aussi ce soir assez tard
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
10 oct. 2007 à 17:50
10 oct. 2007 à 17:50
Chez moi il fonctionne très bien... Comment l'exécutes tu ? Je t'avoue que je passe toujours par Excel pour faire mes programmes en vb...
Peux tu essayer d'afficher par exemple le contenu de strData juste après le End If pour voir ce qu'il contient stp ?
sinon, pourquoi recréer un objet FSO alors que tu as déjà objFSO de créé ? Réutilise le...
Peux tu essayer d'afficher par exemple le contenu de strData juste après le End If pour voir ce qu'il contient stp ?
sinon, pourquoi recréer un objet FSO alors que tu as déjà objFSO de créé ? Réutilise le...
winzip
Messages postés
10
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007
10 oct. 2007 à 23:18
10 oct. 2007 à 23:18
Teteve tu ES UN BOSS !
ça marche du tonnerre !!! Mais je sais pourquoi j'ai une erreur :Invalid procedure call or argument: 'Mid'
J'ai fait ce que tu m'as dit "Peux tu essayer d'afficher par exemple le contenu de strData juste après le End If pour voir ce qu'il contient stp" ?
J'ai remarqué que ce message d'erreur survient quand il ne trouve aucune taille entre les << >> dans un des fichiers ou que ces << >> ne sont pas présents dans le fichier. Et donc le programme s'arrete...
Je compte sur toi pour trouver la parade à ce problème
Encore une fois merci Beauuuuuuuucoup pour ta patience et le temps que tu me consacres !!! :o)
ça marche du tonnerre !!! Mais je sais pourquoi j'ai une erreur :Invalid procedure call or argument: 'Mid'
J'ai fait ce que tu m'as dit "Peux tu essayer d'afficher par exemple le contenu de strData juste après le End If pour voir ce qu'il contient stp" ?
J'ai remarqué que ce message d'erreur survient quand il ne trouve aucune taille entre les << >> dans un des fichiers ou que ces << >> ne sont pas présents dans le fichier. Et donc le programme s'arrete...
Je compte sur toi pour trouver la parade à ce problème
Encore une fois merci Beauuuuuuuucoup pour ta patience et le temps que tu me consacres !!! :o)
winzip
Messages postés
10
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007
11 oct. 2007 à 10:49
11 oct. 2007 à 10:49
Teteve , tu es là ?? A l'aide.... S.O.S
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
11 oct. 2007 à 13:48
11 oct. 2007 à 13:48
j'viens de me lever, laisse moi 2 min pour prendre des news... :P
Effectivement, je n'ai pas du tout géré la gestion des erreurs... J'ai eu la flemme à vrai dire de la faire, en espérant que tous tes fichiers soient bien conformes à l'exemple que tu m'as donné...
Effectivement, je n'ai pas du tout géré la gestion des erreurs... J'ai eu la flemme à vrai dire de la faire, en espérant que tous tes fichiers soient bien conformes à l'exemple que tu m'as donné...
winzip
Messages postés
10
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007
11 oct. 2007 à 14:08
11 oct. 2007 à 14:08
Ah super tu es là :o)
Dacc prends toi un bon café et welcome to the real world ;o)
J'attends de tes news...
Dacc prends toi un bon café et welcome to the real world ;o)
J'attends de tes news...
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
11 oct. 2007 à 14:11
11 oct. 2007 à 14:11
J'ai pas mal de choses à faire aujourd'hui, donc je ne te garantis pas de pouvoir surveiller ce sujet pour y répondre dans l'heure...
Remplace ton "For Each" par celui-ci :
For Each file In objFiles
strFile = objFSO.OpenTextFile(file).ReadAll
IntStart = InStrRev(strFile, "<<") + 2
IntStop = InStrRev(strFile, ">>") - 3
If (IntStart > 0) And (IntStop > 0) Then
strData = Trim(Replace(Mid(strFile, IntStart, IntStop - IntStart), ".", ","))
If strData <> "" Then
dbleCompteur = dbleCompteur + CSng(strData)
End If
End If
Set strFile = Nothing
Next
Pour être franc, ce n'est pas la meilleure gestion des erreurs qui soit... Je palie juste au fait qu'il y ait une taille vide ou qu'il ne trouve pas les "<<" ">>"...
Remplace ton "For Each" par celui-ci :
For Each file In objFiles
strFile = objFSO.OpenTextFile(file).ReadAll
IntStart = InStrRev(strFile, "<<") + 2
IntStop = InStrRev(strFile, ">>") - 3
If (IntStart > 0) And (IntStop > 0) Then
strData = Trim(Replace(Mid(strFile, IntStart, IntStop - IntStart), ".", ","))
If strData <> "" Then
dbleCompteur = dbleCompteur + CSng(strData)
End If
End If
Set strFile = Nothing
Next
Pour être franc, ce n'est pas la meilleure gestion des erreurs qui soit... Je palie juste au fait qu'il y ait une taille vide ou qu'il ne trouve pas les "<<" ">>"...
winzip
Messages postés
10
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 octobre 2007
11 oct. 2007 à 14:26
11 oct. 2007 à 14:26
Hé ben tu es une bête, ça marche impec !
Tu me sauves tu ne sais pas comment !
MERCI MERCI MERCI
( euh.. je pourrais encore t'embêter si j'ai d'autres questions professeur teteve ?? )
Je mets ce topic en résolu et j'en ouvrirai un autre au besoin
Sincérement MERCI MILLE FOIS de ton aide et de tu temps que tu as consacré...
Tu me sauves tu ne sais pas comment !
MERCI MERCI MERCI
( euh.. je pourrais encore t'embêter si j'ai d'autres questions professeur teteve ?? )
Je mets ce topic en résolu et j'en ouvrirai un autre au besoin
Sincérement MERCI MILLE FOIS de ton aide et de tu temps que tu as consacré...
teteve
Messages postés
123
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
23 février 2011
40
11 oct. 2007 à 14:31
11 oct. 2007 à 14:31
Hi hi... *rougit*
Euh, j'suis trèèèès loin d'être une bête en VB comme tu dis... J'en ai juste fais un peu, et n'importe quel bon programmeur pourrait optimiser 300 fois mon code... (regarde ma signature : "amateur"...)
Merci de mettre le topic en résolu :)
Et si je ne réponds pas à d'autres questions, d'autres prendront le relai pour t'aider j'en suis sûr... :)
Il n'y a qu'une seule chose qui me gène... Appelle moi "Teteve tout court" :P
Amicalement,
Teteve
PS : regarde tes MP aussi...
Euh, j'suis trèèèès loin d'être une bête en VB comme tu dis... J'en ai juste fais un peu, et n'importe quel bon programmeur pourrait optimiser 300 fois mon code... (regarde ma signature : "amateur"...)
Merci de mettre le topic en résolu :)
Et si je ne réponds pas à d'autres questions, d'autres prendront le relai pour t'aider j'en suis sûr... :)
Il n'y a qu'une seule chose qui me gène... Appelle moi "Teteve tout court" :P
Amicalement,
Teteve
PS : regarde tes MP aussi...