Type de fichier
Résolu
rEVOLV3r
Messages postés
223
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai créé un algorithme en VBA destiné à trier automatiquement toutes les séquences de données sortant des machines de mesure pour une grande entreprise.
Toutes les séquences de données sont du type "*.*" donc fichier de type fichier.
Cependant des fois...certains opérateurs ajoutent des fichier "*.txt" dans les dossiers destinés au mesures...et ne les enlève pas.
Mon alogorithme initial prend en compte tousl les types de fichier car un bout de la macro est comme-ceci :
CheminOpen = cheminMachine(i)
CheminOpendData = CheminOpen & "\*.*"
...
Donc le triage se fera sur TOUS les fichiers se trouvant des les répertoires.
Voila ma question :
Comment faire pour ne pas prendre en compte les fichiers d'une autre extension que les fichier type fichier ? qui n'ont pas.... d'extension...
Par conséquent exclure tous les fichier ".txt" ou autre qu'ils pourraient déplacer dans les répertroires ?
Sinon, normalement les fichiers parasites s'appelle souvent "Essai.txt", est il possible de les exlure lors dê la nomination du CheminOpendData ?
Genre en faisant :
variableName = AND("\*.*" NOT("\*.txt")
CheminOpenData = cheminOpen & variableName...
Merci bien !
Je vous souhaite une bonne journée.
Amicalement,
rEVOLV3r
J'ai créé un algorithme en VBA destiné à trier automatiquement toutes les séquences de données sortant des machines de mesure pour une grande entreprise.
Toutes les séquences de données sont du type "*.*" donc fichier de type fichier.
Cependant des fois...certains opérateurs ajoutent des fichier "*.txt" dans les dossiers destinés au mesures...et ne les enlève pas.
Mon alogorithme initial prend en compte tousl les types de fichier car un bout de la macro est comme-ceci :
CheminOpen = cheminMachine(i)
CheminOpendData = CheminOpen & "\*.*"
...
Donc le triage se fera sur TOUS les fichiers se trouvant des les répertoires.
Voila ma question :
Comment faire pour ne pas prendre en compte les fichiers d'une autre extension que les fichier type fichier ? qui n'ont pas.... d'extension...
Par conséquent exclure tous les fichier ".txt" ou autre qu'ils pourraient déplacer dans les répertroires ?
Sinon, normalement les fichiers parasites s'appelle souvent "Essai.txt", est il possible de les exlure lors dê la nomination du CheminOpendData ?
Genre en faisant :
variableName = AND("\*.*" NOT("\*.txt")
CheminOpenData = cheminOpen & variableName...
Merci bien !
Je vous souhaite une bonne journée.
Amicalement,
rEVOLV3r
2 réponses
-
Bonjour,
Si dans tes fichiers de tous types (*.*) tu n'as pas de fichiers txt, suffit d'écarter les txt :
If Right(MonFichier.Name, 3) <> "txt" Then CheminOpenData = cheminOpen & MonFichier.Name
-
Bonjour,
Vous allez me prendre pour une pive, mais je n'arrive pas à implémenter votre solution dans ma macro... :-(
Si vous pouviez me dire ou la mettre la dedans, ca serait magnifique :-)
For i = 0 To 17
'Définition du chemin à tester
Dim RetVal As Boolean
CheminOpen = CheminMachine(i)
CheminOpenData = CheminOpen & "\*.*"
ChDir (CheminOpen)
RetVal = Application.Dialogs(xlDialogOpen).Show(CheminOpenData) 'ouverture de la boite de dialogue
If RetVal = True Then Exit Sub 'si "annulé" est pressé parce que le chemin est correct, alors on continue
'Y a t'il des fichiers à déplacer ?
Dim objOFS As Variant
Set objOFS = CreateObject("Scripting.FileSystemObject")
'Test si au moins un fichier present
If Dir(CheminOpenData) <> "" Then
fichier = Dir(CheminOpenData)
Do While fichier <> ""
'TRIAGE DES SEQUENCES
'Commencement par la prise des informations
Set wbsource = Workbooks.Open(CheminOpen & "\" & fichier) 'open the file
nomdufichier = ActiveWorkbook.Name
DateModif = FileDateTime(nomdufichier)
EcartDates = DateDiff("h", DateModif, Now, vbMonday, vbFirstJan1)
If EcartDates < Limite Then
MsgBox ("OF " & nomdufichier & " EN COURS !" & Chr(10) & "Réessayez dans : " & Limite - EcartDates & "Heures")
wbsource.Close False
Exit Do
End If
Merci beaucoup !-
Perso, j'essaierai de la mettre ici :
For i = 0 To 17 'Définition du chemin à tester Dim RetVal As Boolean CheminOpen = CheminMachine(i) CheminOpenData = CheminOpen & "\*.*" ChDir (CheminOpen) RetVal = Application.Dialogs(xlDialogOpen).Show(CheminOpenData) 'ouverture de la boite de dialogue If RetVal = True Then Exit Sub 'si "annulé" est pressé parce que le chemin est correct, alors on continue 'Y a t'il des fichiers à déplacer ? Dim objOFS As Variant Set objOFS = CreateObject("Scripting.FileSystemObject") 'Test si au moins un fichier present If Dir(CheminOpenData) <> "" Then fichier = Dir(CheminOpenData) Do While fichier <> "" '************ ICI ************* ICI ************************ If Right(fichier, 3) <> "txt" Then '********************************************************* 'TRIAGE DES SEQUENCES 'Commencement par la prise des informations Set wbsource = Workbooks.Open(CheminOpen & "\" & fichier) 'open the file nomdufichier = ActiveWorkbook.Name DateModif = FileDateTime(nomdufichier) EcartDates = DateDiff("h", DateModif, Now, vbMonday, vbFirstJan1) If EcartDates < Limite Then MsgBox ("OF " & nomdufichier & " EN COURS !" & Chr(10) & "Réessayez dans : " & Limite - EcartDates & "Heures") wbsource.Close False Exit Do End If '** NE PAS OUBLIER D'AJOUTER END IF*********************** End If '****************************************************************** -
-
-
-