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 :

Macro ouverture fichiers


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 2
    Par défaut Macro ouverture fichiers
    Bonjour à tous,

    Je suis complètement débutant dans le monde du VBA. J'aimerais dans le cadre de mon travail réaliser une macro qui me permettrait d'ouvrir plusieurs fichiers dont je connais déjà les noms, mais dont les répertoires changent. Je dois réaliser des simulations en série, et j'aimerais en utilisant Excel ouvrir plusieurs fichiers issus d'une simulation
    J'aimerais aboutir aux fonctionnalités suivantes:
    - choix du dossier dans lequel se trouves les différents fichiers que je souhaite ouvrir
    - en précisant dans la macro les noms des fichiers que je souhaite ouvrir, les faire s'ouvrir dans le même fichier Excel mais chacun dans une feuille différente

    Merci d'avance

    Cordialement

  2. #2
    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
    Le paramètre de Workbooks.Open est une simple String (chaine de caractère).
    Donc, tu peux la composer comme tu veux.
    La première question est de savoir de quelle façon tu veux renseigner le chemin de tes fichiers et à quel point il est variable.
    Il y a différentes méthodes possibles.

    Une fois que tu as récupérer ce chemin, tu le places dans une variable String.
    Tu peux aussi placer tes nom de fichier dans un tableau de variables String et ouvrir tout ça avec une boucle en concaténant chemin et nom de fichier.

    Ca donnerait quelque chose comme ça :
    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
    Dim Chemin As String
    Dim NomFichier(10) As String
    Dim Fichier(10) As Workbook
    Dim i As Integer
     
    Fichier(1) = "MonFichier A"
    Fichier(2) = "MonFichier B"
    Fichier(3) = "MonFichier C"
     
    ' Ici, il faudrait placer la procédure qui récupère le chemin
     
    For i = 1 to 10
        If NomFichier(i) = "" Then Exit For
        Set Fichier(i) = Workbooks.Open(Chemin & NomFichier(i))
    Next i

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 2
    Par défaut
    Merci de votre réponse rapide,
    j'y ai ajouté une partie pour choisir le dossier dans lequel on trouve les fichiers

    Voici ce que cela donne


    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Sub lecture()
     
     
    Dim NomFichier(10) As String
    Dim Fichier As Workbook
    Dim i As Integer
     
     
    NomFichier(1) = "\fichier1.dat"
    NomFichier(2) = "\fichier2.dat"
    NomFichier(3) = "\fichier3.dat"
     
    ' Ici, il faudrait placer la procédure qui récupère le chemin
     
    Dim chemin As String
    With Application.FileDialog(msoFileDialogFolderPicker)
    InitialFileName = ActiveWorkbook.Path & "\"
    .Show
    If .SelectedItems.Count > 0 Then chemin = .SelectedItems(1)
     
     
    Worksheets("Feuil1").Activate
    For i = 1 To 10
        If NomFichier(i) = "" Then Exit For
        Set Fichier(i) = Workbooks.Open(chemin & NomFichier(i))
    Next i
     
    End With
     
    End Sub

    Les 3 fichiers s'ouvrent bien, comment faut-il fait pour qu'ils s'ouvrent sur un même fichier Excel, dans 3 feuilles différentes ?

    Merci d'avance

    Cordialement

  4. #4
    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 leolomi Voir le message
    Les 3 fichiers s'ouvrent bien, comment faut-il fait pour qu'ils s'ouvrent sur un même fichier Excel, dans 3 feuilles différentes ?
    Il n'est pas possible qu'ils s'ouvrent comme un seul fichier puisqu'il s'agit de trois fichiers différents.
    Par contre, après les avoir ouvert, tu peux transférer les onglets de chacun dans un seul en utilisant la méthode Move de l'objet Worksheet.

Discussions similaires

  1. [Toutes versions] Macro ouverture fichier Excel + formatage
    Par asengs dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/02/2011, 11h44
  2. Macro ouverture Fichier puis enregistrement : Comment la simplifier ?
    Par mattwarend dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/11/2008, 11h02
  3. Execution macro lors d'une ouverture fichier excel
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/10/2006, 12h00
  4. activation macro lors d'une ouverture fichier Excel
    Par mirumoto dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/05/2005, 15h08
  5. [VBA-E] Macro ouverture fichier déja ouvert
    Par bhaal76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 14h30

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