IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Lire sans les ouvrir des fichiers sans extensions


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Orakle
    Homme Profil pro
    Responsable Informatique
    Inscrit en
    Mars 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2004
    Messages : 204
    Par défaut Lire sans les ouvrir des fichiers sans extensions
    bonjour,

    tout est dit dans le titre, je cherche à pouvoir lire des données dans des fichiers qui n'ont pas d'extension mais pour lesquels je sais que c'est du texte dedans.
    C'est vraiment des fichiers sans extensions, ce n'est pas un masque qui m'empêche de les voir.

    Mais avant de pouvoir les lire, je voudrai pouvoir les identifier.

    J'ai tenté des choses autour de ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Chemin = ThisWorkbook.Path & "\\MonServeur\MonDossier\"
    Fichier = Dir(Chemin & ?????)
    j'ai tenté "*" mais ça ne fonctionne pas, car j'imagine qu'il attend justement cette extension que je n'ai pas.
    Avec le Dir je ne sais pas quoi lui passer en paramètre, une idée? ou je dois passer par autre chose?

    Ensuite je souhaite au mieux chercher des infos dedans sans forcément les ouvrir.

    Merci de votre aide.

  2. #2
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    Bonjour,

    On dirait que vous concaténez le chemin du classeur avec un chemin réseau complet, c'est étrange.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    En plus de la réponse d'Arkham46, je voudrais savoir comment tu ferais pour goûter de la confiture dans un pot afin d'en déterminer le goût sans ouvrir le pot

    Si tu es sûr que ton fichier contient du texte, ouvre-le et regarde dedans ce qui s'y trouve.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Par défaut
    Bonjour à tous

    En plus des réponses précédentes (j'aime le pot de confiture ), un bout de code pour trouver les fichiers sans extension :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ListingFichiers()
    Dim Rep As String, Fichier As String
     
    Rep = "D:\xxxx\yyy\"
    Fichier = Dir(Rep)
    Do While Fichier <> ""
        If UBound(Split(Fichier, ".")) = 0 Then MsgBox "le fichier sans extension est : " & Fichier
        Fichier = Dir
    Loop
    End Sub
    à adapter bien entendu

    Eric

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Orakle Voir le message
    je cherche à pouvoir lire des données dans des fichiers qui n'ont pas d'extension mais pour lesquels je sais que c'est du texte dedans.
    Méthode OpenText de Workbooks : https://docs.microsoft.com/fr-fr/off...books.opentext

    Mais avant de pouvoir les lire, je voudrai pouvoir les identifier.
    J'ai tenté des choses autour de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Chemin = ThisWorkbook.Path & "\\MonServeur\MonDossier\"
    Fichier = Dir(Chemin & ?????)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fichier = Dir(Chemin & "*.", vbNormal)
    Vérifier si cette méthode ne trouve pas aussi les répertoires.
    Si c'est le cas, tu pourras les éliminer en vérifiant le résultat de Dir(Chemin & Fichier, vbDirectory)

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonsoir
    lire sans les ouvrir
    c'est une meprise en fait meme quand on ouvre le fichier en memoire avec open for... on ouvre le fichier sauf que c'est silencieux et invisible
    un petit exemple
    je boucle sur les fichiers d'un dossier en demarrant de vbdirectory et en exceptant tout les reponses qui contiennent un point dans le nom
    une fois les fichiers ciblés je les ouvre avec open en memoire et te donne le contenu dans un msgbox ( a hauteur du nombre de caracteres permis dans un msgbox )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub test()
        Dim chemin$, fichiers, lines, x&
        chemin = Environ("userprofile") & "\DeskTop\mondossier\"
        fichiers = Dir(chemin, vbDirectory)
        Do While fichiers <> ""
            DoEvents
            If Not fichiers Like "*.*" Then
                'Debug.Print fichiers
                x = FreeFile
                Open (chemin & fichiers) For Input As #x: lines = Input$(LOF(x), #x): Close #x
                MsgBox lines
            End If
            fichiers = Dir
        Loop
    End Sub
    je pense que c'est de ca que tu parlais en disant "lire sans ouvrir"
    reste a etre sur que tes fichiers contienne bien du texte et que ce n'est pas des cochonneries
    mais autant je suis pas le dernier a créer mes propres extentions autant des fichiers sans extentions me parraissent louches surtout si il viennent de l'exterieur
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour Menhir
    Rassure-toi : ton code ne recense pas les dossiers (seuls les fichiers sans attributs. Si l'on veut également les fichiers avec attributs, les préciser par les arguments adéquats de la fonction Dir).
    Celui de patricktoulon, par contre, ne recense que ... les dossiers présents ...

    Je n'aime personnellement pas (car peu sûr) que l'on décide que la présence d'un "." implique nécessairement que le fichier est doté d'une extension.
    Voilà le nom de l'un dfe mes fichiers personnels -->> DR.HPLA.txt
    Si j'ôte l'extension (.txt), cela en fera un fichier sans extension mais comportant un "." dans son nom.

  8. #8
    Membre confirmé Avatar de Orakle
    Homme Profil pro
    Responsable Informatique
    Inscrit en
    Mars 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2004
    Messages : 204
    Par défaut
    Merci à tous de votre participation déjà!!

    @Arkham, oui je m'y prends sans doute mal, mais c'était la seule méthode que j'ai trouvé pour pointer dans le dossier recherché.
    @Pierre, oui c'est comme le dit Patrick, en fait on ouvre quand même mais en mémoire.

    Pour répondre aux autres questions.

    Mes fichiers reçus sont de source sûre.
    Ils sont nommés ainsi ex: 260916_TCPP3535

    260916 est une date sur 4 (2609) et une heure sur 2 (16)
    TCPP est l'environnement qui m'intéresse (je peux en avoir d'autres ex TCPM, OENO,...)
    3535 est un id numérique type compteur.


    Je veux retrouver sur mon dossier serveur tous les fichiers de type TCPP qui sont arrivés après mon dernier N° de fichier que j'aurai mis en réserve dans Excel
    Ensuite je veux lire ce qu'il y a dedans.
    Si je trouve certaines valeurs qui correspondent à ma recherche
    je veux copier ce fichier, modifier certaines valeurs dedans et l'enregistrer dans un autre dossier sous la forme TCPMXXX1 (je ne sais pas encore déterminer quelle valeur mettre à ce moment précis)

    Je vais regarder les bouts de codes que vous avez posé, voir s'il n'y a pas quelque chose qui peut me correspondre moyennant un peu d'adaptation.

    Edit : comme personne n'a encore répondu j'ai édité ma réponse. et je passe en vert ce que j'ai modifié.

  9. #9
    Membre confirmé Avatar de Orakle
    Homme Profil pro
    Responsable Informatique
    Inscrit en
    Mars 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2004
    Messages : 204
    Par défaut
    J'apporte une suite à mes recherches et j'ai modifié mon code comme suit

    Le fait de faire un simple : fonctionne, pour peu que Cheminsoit renseigné (je sais pas pourquoi je suis allé chercher midi à quatorze heure)
    Donc Chemin est passé en constante puisque de toute façon je ne cherche que dans ce dossier.
    Donc cette partie est close.

    Maintenant je dois trouver une méthode pour ouvrir tous les fichiers typés TCPP mais qui sont plus récent que le N° que j'ai mis en réserve dans mon classeur.

    ex: si dans mon classeur j'ai 260916_TCPP3535
    je dois ouvrir et chercher dans tous les fichiers qui peuvent se retrouver sous la forme :

    260917_TCPP3536
    260918_TCPP3537
    260918_TCPP3538
    270909_TCPP3539
    270914_TCPP3540

    Edit : je pense qu'il faut juste se focaliser sur le TCPPcompteur...

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Orakle Voir le message
    [...]

    tout est dit dans le titre, je cherche à pouvoir lire des données dans des fichiers qui n'ont pas d'extension[...]
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    et oui pierre a raison c'est menhir qui m'a induit en erreur en metant en avant le fait qu'il pouvait y avoir un point dans le nom autre que pour separer l'extention

    suis je bete si il n'y a qu'un seul point ce qui suit ce point est!!! l'extention et meme avec plusieurs ce qui suit le dernier est l'extention

    du coup ca revient a dire que ce que j'ai donné plus haut (exeption catégorique des noms avec point dans la boucle dir ) est bon(j'avais testé)


    Voilà le nom de l'un dfe mes fichiers personnels -->> DR.HPLA.txt
    Si j'ôte l'extension (.txt), cela en fera un fichier sans extension mais comportant un "." dans son nom
    @unparia
    non c'est faux
    je viens de faire le test simple sur le bureau
    j'ai ajouté un nouveau document texte que j'ai nommé "truc.xlsm.txt"
    j'ai ensuite selectionné le nom sur l'icone du fichier et supprimer l'extention".txt"
    et bien mon fichier truc est devenu un classeur
    Nom : demo.gif
Affichages : 971
Taille : 258,4 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    La présence ou non du "." dépend de la façon dont le fichier a été généré.
    On pourra sortir tous les exemple qu'on veut montrant qu'il est possible d'avoir des fichiers sans "." ni extensions, on pourra en sortir tout autant de fichiers sans extension avec ".".
    D'où mon conseil au demandeur de vérifier le nom de ses fichiers (ce qui n'est pas bien compliqué : un MsgBox ou un Debug.Print suffisent) pour savoir sans quel cas il se trouve.

    Les certitudes, c'est bien. La vérification, c'est mieux.

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour a tous
    @Menhir
    prend ton fichier avec un point dans le nom et sans extention clique droit dessus et "ouvrir" windows va te dire qu'il n'a pas de programme et te demander de selectionner un programe pour le lire
    choisi bloknote
    bon maintenant si tu va dans le registre hkclasseroot tu trouvera une extention correspondant a ce qui suit le point dans le nom de ton fichier

    non un fichier avec un point dans le nom et sans extention c'est pas possible windows ne l'interprete pas comme ca
    créer un fichier que j'ai nommé toto.menhir sans extention

    registre
    Nom : Capture.JPG
Affichages : 945
Taille : 24,0 Ko
    Nom : Capture2.JPG
Affichages : 927
Taille : 19,3 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Ne pas confondre ceci :
    - Windows peut ouvrir au click, avec le programme adéquat un fichier doté d'une extension qui l'associe à une application (dans la base de registre)
    avec cela
    - Il est toujours possible de créer un fichier texte (par exemple), comportant ou non un "." dans son nom, sans extension associée.
    Ce fichier ne s'ouvrira alors pas simplement au click et il faudra préciser avec quelle application l'ouvrir
    bon maintenant si tu va dans le registre hkclasseroot tu trouvera une extention correspondant a ce qui suit le point dans le nom de ton fichier
    Non. Cela n'arrive que si l'on coche une option de plus (toujours ouvrir ce type avec l'application choisie)

    Autrement dit : ne pas confondre Windows et l'utilisation des outils/options de son explorateur.

  15. #15
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    windows va te dire
    Si tu sais que le demandeur utilise Excel dans Windows, alors tu as des informations que je ne possède pas.

  16. #16
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Si tu utilises FSO, pas besoin d'utiliser fichier = dir(chemin)

    la propriété "par défaut" d'un fichier du FSO est son nom complet (path et name). Si tu veux récupérer le nom du fichier sans le chemin, utililse la propriété Name
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VarFichier = Fichier.Name
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  17. #17
    Membre confirmé Avatar de Orakle
    Homme Profil pro
    Responsable Informatique
    Inscrit en
    Mars 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2004
    Messages : 204
    Par défaut
    Merci Pierre

    effectivement j'ai changé mon code comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Set fso = New FileSystemObject
        Set dossier = fso.GetFolder(Chemin)
        For Each fichier In dossier.Files
            fichier = fichier.Name
            VarFichier = Mid(fichier, 8, 4)
            VarFichier1 = Right(fichier, 4)

  18. #18
    Membre confirmé Avatar de Orakle
    Homme Profil pro
    Responsable Informatique
    Inscrit en
    Mars 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2004
    Messages : 204
    Par défaut
    Bonjour,

    je reviens avec une nouvelle exception à gérer dans mes ouvertures de fichiers.

    Comme vous le savez maintenant mes fichiers se présentent sous la forme : 260917_TCPP3536

    26 = jour
    09 = mois
    17 = heure

    pour reprendre ma lecture de dossier je prends donc mon fichier mis en réserve dans Excel et je lui dis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    VarFichier = Left(fichier, 6)
            VarFichier1 = Mid(fichier, 8, 4)
            VarFichier2 = Right(fichier, 4)
     
            If VarFichier >= DateFichierSave Then                           
                If VarFichier1 = EnvFichierSave Then                        
                    If VarFichier2 >= CptFichierSave Then
    Sauf que bien sûr ça ne va pas!!

    Puisqu'en gros je lui dis d'ouvrir les fichiers plus grand que ou égal à mais sans notion de date, et donc lui malin que fait-il après avoir ouvert : 260917_TCPPxxxx ? Et bien il va ouvrir 270800_TCPPxxxx par exemple.

    Donc il faut que je décompose et que je passe tout en gestion de date/heure.... Grrrr

    Et dans l'absolu j'aurai également un autre problème, car il est possible qu'au bout de TCPP9999 par exemple je repasse à TCPP0000 et donc ma condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If VarFichier2 >= CptFichierSave Then
    ne fonctionnera plus non plus

    Quelqu'un aurait un petit bout de code qui traîne pour m'aider à aller plus vite sur le sujet ?

    Merci à vous

  19. #19
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    J'avais cru comprendre que les quatre derniers chiffres permettaient d'obtenir les fichiers "dans l'ordre chronologique", donc que ces quatre chiffres représentaient en quelque sorte le numéro d'ordre...

    Si tu dois trier sur la date, il serait préférable d'enregistrer la date au format yymmdd évidemment. Ce serait beaucoup plus simple. Si tu ne peux modifier les noms de tes fichiers, il va effectivement falloir trier, mais c'est aberrant d'enregistrer un nom de fichier sous ce format. Un simple test dans Excel permet de prévoir le problème. Et lorsque tu vas avoir des fichiers de décembre 2018 et de janvier 2019, ca va être rigolo.

    Pourquoi on ne réfléchit pas AVANT?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  20. #20
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    Et dans l'absolu j'aurai également un autre problème, car il est possible qu'au bout de TCPP9999 par exemple je repasse à TCPP0000 et donc ma condition
    perso je pars du principe que si j'ai des noms de fichiers avec un numerique incrémenté du genre "....TCP9999" j'ai forcement deja un avec "......TCP0000"
    en ce qui concerne les dates dans le nom et la encore ca n'est que mon opinion j'aurais laissé un separateur du genre le"-"

    ainsi en comparant un date au format"xx-xx-xx" plus un eventuel sufixe numerique incrémenté je retrouve mon fichier
    bref je pige pas ou est la difficulté de lister les fichiers d'un dossier meme sans extention et ayant pour nom unedateTCPxxxx


    tout ca sans shel window et seulement avec dir (tondossier,vbdirectory +EVENTUELLEMENT !!!critere attribut ) et les outils natif vba

    ainsi dans cet exemple de boucle sur dir
    j'exepte les nom avec point ce qui comprends aussi les dossiers system et je teste le nom formé par les variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub test()
        Dim chemin$, fichiers, lines, x&
        chemin = Environ("userprofile") & "\DeskTop\mondossier\"
        fichiers = Dir(chemin, vbDirectory)
        NUM = 1546
        madate = CDate("25/04/2018")
        fichier_recherché = Format(madate, "dd-mm-yy") & "TCP" & 1546
        Do While fichiers <> ""
            DoEvents
            If Not fichiers Like "*.*" Then
                'Debug.Print fichiers
                x = FreeFile
                If fichiers = fichier_recherché Then
                    Open (chemin & fichiers) For Input As #x: lines = Input$(LOF(x), #x): Close #x
                    MsgBox fichiers & vbCrLf & lines
                End If
            End If
            fichiers = Dir
        Loop
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/04/2018, 11h29
  2. [XL-2007] Copier des fichiers sans les ouvrir
    Par mouftie dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/03/2015, 09h33
  3. Impression de fichiers sans les ouvrir
    Par luca.donati dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/01/2013, 16h22
  4. [Débutant] Impression auto des fichiers sans les ouvrir
    Par da_latifa dans le forum ASP.NET
    Réponses: 9
    Dernier message: 05/12/2011, 23h31
  5. déplacer des fichiers sans les répertoires
    Par ravaza dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 14/11/2011, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo