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 :

Ouverture d'un fichier en fonction d'une partie de son nom


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Points : 54
    Points
    54
    Par défaut Ouverture d'un fichier en fonction d'une partie de son nom
    Bonjour,

    Je souhaite vous solliciter sur un problème que j'ai rencontré.

    Sur une macro Simple de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open Filename:= _
    ""V:\DOC\Test_appel_mail_124.xls"
    Je souhaite savoir si il est possible, par ce type de macro d'ouvrir un fichier en indiquant uniquement le début du nom de fichier à ouvrir

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open Filename:= _
    ""V:\DOC\Test_appel_mail_(C'est ici que je sais plus quoi mettre)"
    Pourquois ? : Tout simplement car le début du nom de fichier " Test_appel_mail_" restera toujours le même, néanmoins le chiffre qui suit est une variable qui ne peut être définie en avance.

    ma requête est elle possible ?

    Cordialement.

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Teste ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim Chemin As String
    Dim NomFichier As String
     
    Chemin = "V:\DOC\"
     
    'l'astérisque permet de retourner le 1er fichier qui correspond
    'sans tenir compte des lettres situées entre le tiret bas et le point
    NomFichier = "Test_appel_mail_*.xls"
     
    'à virer, pour voir le nom du fichier retourné
    MsgBox Chemin & Dir(Chemin & NomFichier)
     
    Workbooks.Open Filename:=Chemin & Dir(Chemin & NomFichier)
    Hervé.

  3. #3
    Membre du Club
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Points : 54
    Points
    54
    Par défaut
    Bonjour et merci pour le temps que vous m'accordez !

    j'ai testé la proposition effectuée ci dessus,
    mais concernant la ligne

    NomFichier = "Test_appel_mail_*.xls"
    La macro considère l' "*" comme un caractère compris dans le nom du fichier.

    Du coup erreur d'ouverture

    Je pense néanmoins qu'on est sur la bonne voie !!!

    la solution proposée va exactement dans la même direction que ma requête, on va réussir !

    Cordialerment.

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Re,

    La macro considère l' "*" comme un caractère compris dans le nom du fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NomFichier = "Test_appel_mail_*.xls"
    Tel quel oui !!!
    mais dans mon exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Chemin = "V:\DOC\"
    NomFichier = "Test_appel_mail_*.xls"
    MsgBox Dir(Chemin & NomFichier) '<-- retourne bien le nom du fichier si il existe !!!
    si un fichier dans le dossier commence bien par "Test_appel_mail_" la fonction Dir retourne le nom complet du 1er fichier trouvé car l'astérisque (*) est un caractère interdit dans les noms de fichiers donc elle le reconnaît comme étant un caractère générique et il n'y a pas de raison que ça ne fonctionne pas !

    Hervé.

  5. #5
    Membre du Club
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Points : 54
    Points
    54
    Par défaut
    j'ai testé plusieurs choses sans succès,

    Si je laisse la macro en l'état, il me met un erreur d'exécution '52' Nom ou numéro de fichier incorrecte.

    le fichier est bel et bien présent et il n'y a pas d'erreur dans le nom du ficher.

    c'est la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Chemin & Dir(Chemin & NomFichier)
    Qui devient jaune.

    Ai-je louper quelque chose ?

    Cordialement.

  6. #6
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Re,

    Alors, c'est ton chemin vers le dossier qui n'est pas bon !
    Dans l'explorateur de Windows tu sélectionne ton dossier, dans le champ en haut qui indique le chemin, clic droit puis "copier l'adresse" tu colle dans le code avec la "\" à la fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Chemin = "ici, le chemin de ton dossier puis \"
    Hervé.

Discussions similaires

  1. [XL-2010] Ouvrir fichier Excel avec une partie de son nom
    Par juluseless dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/10/2014, 14h12
  2. Réponses: 10
    Dernier message: 17/11/2011, 16h37
  3. [XL-2002] Sélectionner fichier en fonction d'une partie de son nom
    Par johan89 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/11/2011, 20h48
  4. Recherche d'un repertoire avec une partie de son nom[D7] [XP]
    Par LHT dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 21/08/2009, 16h28
  5. Réponses: 2
    Dernier message: 28/04/2009, 10h43

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