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 :

Sauter n caractères dans l'utilisation d'un nom de fichier


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)
    Inscrit en
    Avril 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)

    Informations forums :
    Inscription : Avril 2011
    Messages : 137
    Points : 57
    Points
    57
    Par défaut Sauter n caractères dans l'utilisation d'un nom de fichier
    Bonjour,

    Mon besoin est simple : Je souhaite pouvoir sauter 12 caractères qui ne font que m'embêter (LOL) dans la manipulation de fichiers.
    Ces 12 caractères correspondent à la date de génération du fichier et font partis de la norme, je ne peux donc pas les retirer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.OpenText Filename:=Chemin_Reseau & "TOTO.form.201110281445." & Le_ID
    Il s'agit de pouvoir rendre "générique" les 12 caractères : Il faut prendre en compte le fait qu'ils sont présents mais que ma macro ne tienne pas compte de leur valeur ! Est-ce possible ?!

  2. #2
    Membre chevronné Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Points : 2 056
    Points
    2 056
    Par défaut
    Bonjour

    à tout hasard
    en remplacant 201110281445 Par *
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.OpenText Filename:=Chemin_Reseau & "TOTO.form.*." & Le_ID
    Tu dis

    Edit : Fonctionne en 2003

  3. #3
    Membre du Club
    Profil pro
    Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)
    Inscrit en
    Avril 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)

    Informations forums :
    Inscription : Avril 2011
    Messages : 137
    Points : 57
    Points
    57
    Par défaut
    Malheureusement Non

  4. #4
    Membre chevronné Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Points : 2 056
    Points
    2 056
    Par défaut
    Peut être un problème avec 2002

    Car avec 2003
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Chemin_Reseau
    Chemin_Reseau = "E:\"
    Workbooks.OpenText Filename:=Chemin_Reseau & "TOTO.form.*.txt" ' & Le_ID
    Ouvre bien le fichier TOTO.form.201110281445.txt
    Bon courage

    Edit :
    Envoyé par bbil
    et tu ouvriras le premier fichier trouvé ( tu nous as pas dit s'il y en avait plusieurs ??)
    Peut être un autre problème

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    bonjour,

    Tu peu utiliser dir pour trouver le nom complet de ton fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim stFichier as string 
    StFichier = Dir (Chemin_Reseau & "TOTO.form.*." & Le_ID)
     
    if stFichier = "" Then 
       MsgBox "fichier introuvable"
      exit sub
    else
     MsgBox "Ouvre : " & stFichier
    Workbooks.OpenText Filename:=Chemin_Reseau & stFichier
    endif
    et tu ouvriras le premier fichier trouvé ( tu nous as pas dit s'il y en avait plusieurs ??)



  6. #6
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Dans Microsoft Windows, La fonction Dir permet d'utiliser des jokers ou caractères génériques (* ou ?) pour sélectionner plusieurs fichiers. Sur le Macintosh, ces caractères sont considérés comme des caractères de noms de fichiers valides et ne peuvent être utilisés comme caractères génériques pour spécifier des fichiers multiples.
    Tu n'es pas sous Mac

    cordialement,

    Didier

  7. #7
    Membre du Club
    Profil pro
    Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)
    Inscrit en
    Avril 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)

    Informations forums :
    Inscription : Avril 2011
    Messages : 137
    Points : 57
    Points
    57
    Par défaut
    Bonjour à tous,

    Merci pour votre aide.
    Le fichier est situé sur un ftp Linux.
    TOTO.form.201110281445." & Le_ID
    Le_ID étant un ID sur 9 caractères du genre 987654321.
    En effet, j'ai plusieurs fichiers à traiter, c'est pour cela que j'ai besoin de faire "disparaître" la date (201110281445 pour l'exemple au dessus).
    Mais ma problématique ne se pose que sur un fichier. Après, je n'aurais qu'à faire la même chose pour tous les fichiers.

    Peut être un problème avec 2002
    Je suis sous 2003, même souci

    Tu peux utiliser dir pour trouver le nom complet de ton fichier
    La macro bloque sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StFichier = Dir (Chemin_Reseau & "TOTO.form.*." & Le_ID)


    Tu n'es pas sous Mac
    Non, je suis sous Windows XP.


    Peut-être que ça ne fonctionne pas parce qu'il y a l'ID à la suite de mon * non ? : TOTO.form.*." & Le_ID

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par johan89 Voir le message
    ...
    Le fichier est situé sur un ftp Linux.
    ..
    Cela tu aurais pu le préciser dés le départ !

    Dir ne fonctionne pas en ftp ..

    tout ce complique si tu ne sais pas par calcul déterminer le nom du fichier à télécharger il va falloir trouver une autre méthode pour lister les fichiers du répertoire (API peu-être ..)



    Citation Envoyé par johan89 Voir le message
    ..En effet, j'ai plusieurs fichiers à traiter, c'est pour cela que j'ai besoin de faire "disparaître" la date (201110281445 pour l'exemple au dessus)....
    La question c'était pour savoir s'il pouvait avoir plusieurs fichiers répondant au même filtre .. (même préfixe, même ID , seule la date change ..)

  9. #9
    Membre du Club
    Profil pro
    Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)
    Inscrit en
    Avril 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)

    Informations forums :
    Inscription : Avril 2011
    Messages : 137
    Points : 57
    Points
    57
    Par défaut
    Désolé, je n'y avais pas pensé.
    On est obligé de lister les fichiers ! il n'y a pas une syntaxe en vba qui permette de dire "n'importe quel caractère" lorsque l'on travaille sur des fichiers hébergés sous Linux ??

  10. #10
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Le même problème - essentiel - de non précision des informations utiles s'est déjà produit sur ce fil que tu as créé il y a quelques jours et sur le même sujet à la base :

    http://www.developpez.net/forums/d11...on-partie-nom/

    qui est toujours sans suite alors que celui-ci est ouvert...

    Citation Envoyé par johan89
    02/11/2011 - merci tout de même, je vais me pencher d'avantage sur le problème dès que j'ai le temps
    !

  11. #11
    Membre du Club
    Profil pro
    Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)
    Inscrit en
    Avril 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)

    Informations forums :
    Inscription : Avril 2011
    Messages : 137
    Points : 57
    Points
    57
    Par défaut
    Exact.
    En se connectant en ftp, il y a peut être moyen que le caractère * soit "compris" ... Qu'en pensez-vous ?

Discussions similaires

  1. Réponses: 7
    Dernier message: 01/02/2015, 21h46
  2. [XL-2003] Check dans un dossier si un nom de fichier existe déjà
    Par Neptune64 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/09/2010, 16h35
  3. Insertion dans base de données de nom de fichiers
    Par patickg dans le forum Langage
    Réponses: 2
    Dernier message: 26/02/2010, 19h04
  4. Réponses: 3
    Dernier message: 08/08/2006, 08h44
  5. [MySQL] Utilisation du caractère "`" dans les requêtes
    Par PeZ dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/03/2006, 16h01

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