Type de fichier
Résolu
rEVOLV3r
Messages postés
232
Statut
Membre
-
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
A voir également:
- Type de fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
Bonjour,
Si dans tes fichiers de tous types (*.*) tu n'as pas de fichiers txt, suffit d'écarter les txt :
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 !
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
'******************************************************************
Je vais essayer cela :-)
Amicalement,
rEVOLV3r