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 un fichier excel avec vba [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Par défaut Ouvrir un fichier excel avec vba
    Bonjours à tous,

    Dans un classeur Excel, j'ai ajouté un bouton de commande qui doit permettre :
    1 - de choisir un autre fichier excel,
    2 - de l'ouvrir,
    3 - de copier les infos qui m'interresse
    4 - de les placer dans mon fichier excel,
    5 - et fermer le fichier.

    Je n'arrive pas à trouver la solution pour ouvrir une fenêtre, choisir mon fichier et l'ouvrir. Les solutions sur internet, que j'ai trouvées, montrent du code où on connait le nom du fichier. Ce qui n'est pas mon cas, je voudrais pouvoir le selectionner.

    Bref, au secours !

    Merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Formateur & Dévrloppeur en Bureautique
    Inscrit en
    Février 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur & Dévrloppeur en Bureautique

    Informations forums :
    Inscription : Février 2007
    Messages : 47
    Par défaut un exemple
    Bonjour,
    voici un exemple en utilisant la méthode GetOpenFileName

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Ouvre()
     
    Nom_Fichier = Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls")
    If Nom_Fichier <> False Then
        Workbooks.Open Filename:=Nom_Fichier
    End If
     
    End Sub
    Bon courage

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Par défaut
    Merci beaucoup pour cette solution !
    Ca fonctionne parfaitement !

    Par contre, pour fermer la fenêtre, je n'y arrive pas j'ai essayé un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Windows("Nom_Fichier").Activate
    ActiveWorkbook.Close
    Comment faire ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Formateur & Dévrloppeur en Bureautique
    Inscrit en
    Février 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur & Dévrloppeur en Bureautique

    Informations forums :
    Inscription : Février 2007
    Messages : 47
    Par défaut
    bonjour,

    Nom_Fichier étant une variable, il ne faut pas l'écrire entre guillemets. La syntaxe doit être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Windows(Nom_Fichier).Activate
    ActiveWorkbook.Close
    bon courage

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 7
    Par défaut
    Cela ne fonctionne pas, j'obtiens l'erreur : "Indice en dehors de la plage (erreur 9)".
    Cela doit etre un problème avec ma variable. Elle est définie en Variant.

  6. #6
    Membre éclairé
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Par défaut
    Ce n'est jamais bon de communiquer avec un Workbook comme ça(avec des workbook.activate, Activeworkbook, activeSheet etc..) car si le process dure un peu et que l'utilisateur click que un fichier excel, ça vire au cauchemar pour lui.
    Crée plutot un objet qui t'ouvrira les portes de toutes les méthodes et propriétés de l'objet!

    Essaie un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Ouvre()
    dim wbMyWb as workbook
    dim Nom_Fichier as variant
     
    Nom_Fichier = Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls")
    If Nom_Fichier <> False Then
       set wbMyWb= Workbooks.Open(Nom_Fichier)
      wbmyWb.Activate
    End If
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Ouvrir fichier excel avec vba
    Par Traputaca dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/05/2013, 16h22
  2. [XL-2003] Pouvoir ouvrir des fichiers excel avec vba sans le faire planter
    Par perpitou dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/12/2011, 15h52
  3. ouvrir un fichier excel avec VB6
    Par sweety2094 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/04/2007, 13h06
  4. créer un fichier excell avec VBA(access)
    Par JCH dans le forum Access
    Réponses: 1
    Dernier message: 19/09/2006, 19h07
  5. ouvrir un fichier Excel avec une requete perso
    Par legillou dans le forum Access
    Réponses: 9
    Dernier message: 21/06/2005, 15h14

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