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 :

Ouvrir fichier dont le nom change


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 129
    Points : 55
    Points
    55
    Par défaut Ouvrir fichier dont le nom change
    Bonjour,

    Je souhaite ouvrir un fichier dont le nom change en partie tous les mois.

    J'ai donc commencé à écrire le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Test()
     
        Dim Classeur As String
     
        Classeur = "Données complémentaires 2016-03"
     
        Workbooks.Open Filename:=ThisWorkbook.Path & "\Données complémentaires*.xls"
     
        Windows(Classeur).Activate
     
     
    End Sub
    Avec ce code, j'arrive à ouvrir le fichier "Données complémentaires 2016-03". La partie qui change tous les mois, c'est "2016-03".

    Sachant qu'il n'existe qu'un seul fichier dans le dossier qui commence comme ça, j'ai donc remplacé cette partie là par "*", soit le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Test()
     
        Dim Classeur As String
     
        Classeur = "Données complémentaires*"
     
        Workbooks.Open Filename:=ThisWorkbook.Path & "\Données complémentaires*.xls"
     
        Windows(Classeur).Activate
     
     
    End Sub
    Et ça me donne une erreur d'exécution 9, l'indice n'appartient pas à la sélection

    Je ne comprends pas mon erreur.

    Merci par avance pour votre aide!

  2. #2
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonjour gangsterus,

    Si la méthode open fonctionne, il te suffit de stocker le classeur ouvert au moment de l'Open pour ensuite l'activer par son nom.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Test()
     
        Dim Classeur As Workbook 
     
        Set Workbooks.Open Filename:=ThisWorkbook.Path & "\Données complémentaires*.xls"
     
        Windows(Classeur.Name).Activate 
     
    End Sub
    Par contre je suis étonné de voir fonctionner Workbooks.Open Filename:=ThisWorkbook.Path & "\Données complémentaires*.xls"
    Et après un open le classeur n'est pas directement le classeur Actif ?
    Antony

    Mieux vaut ne rien dire et passer pour un con que de l'ouvrir et ne laisser aucun doute à ce sujet.
    Gustave Parking


    Si le post vous est utile un petit fait toujours plaisir et pensez à passer en

    Et surtout -> Balise CODE

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Bonjour,

    A supposé que tu ouvres le classeur daté de deux mois comme sur ton exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Classeur = "Données complémentaires " & year(date) & "-0" month(date)-2

    Attention par contre à gérer correctement le changement d'année et l'ajout du 0 ou pas devant le mois.
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 129
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    Merci pour vos retours.
    En fait, j'ai extrait une partie du code. La macro active plusieurs fichiers et c'est pour cette raison que j'ai besoin d'activer le fichier.
    La macro sera utilisée par une autre personne, du coup, je préférerais une solution qui me permette de ne pas avoir à modifier l'année dans le code.

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour,

    Pas besoin d'activer un classeur pour travailler dessus.

    Utilise la variable Classeur comme elle a été implémentée par antonysansh.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. [XL-2010] Vérification code pour trouver un fichier dont le nom change régulièrement
    Par Virk59 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/11/2013, 17h01
  2. Ouvrir fichier dont le nom contient espace
    Par laetisam dans le forum Général Java
    Réponses: 3
    Dernier message: 15/05/2012, 10h27
  3. Ouvrir fichier dont le nom contient des parenthèses
    Par Alphonse87 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 26/03/2010, 09h35
  4. Réponses: 1
    Dernier message: 22/01/2009, 15h24
  5. [VBA-E]ouvrir un fichier dont le nom est determiné par sa date de création
    Par olivertwist dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/04/2007, 17h29

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