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 dont le chemin variable est stocké dans une cellule. [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Documentaliste
    Inscrit en
    Mars 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Documentaliste

    Informations forums :
    Inscription : Mars 2017
    Messages : 15
    Par défaut Ouvrir un fichier dont le chemin variable est stocké dans une cellule.
    Bonjour !

    Je suis débutant en VBA et j'ai besoin d'un peu d'aide pour achever une macro qui me servira dans le cadre de mon travail.
    Mon problème est le suivant :
    Je n'arrive simplement pas à ouvrir un fichier Excel à partir d'un chemin inscrit dans une cellule.
    La macro en elle-même doit me servir à mettre en forme et compléter des nomenclatures mécaniques. Je me sers d'une UserForm dans laquelle sont intégrées 3 TextBox et 2 CommandButton.
    Donc, concrètement :

    TextBox 1 ► L'utilisateur va chercher la nomenclature Excel de base à convertir dans l'explorateur Windows via la commande "Application.FileDialog(msoFileDialogFilePicker)".
    Après sélection, le chemin s'affiche dans la TextBox et est stocké en cellule A4.
    TextBox 2 ► L'utilisateur rentre le nom du fichier résultant de la conversion, le nom est stocké en cellule A6.
    TextBox 3 ► L'utilisateur sélectionne le répertoire de destination du futur fichier via la commande "Application.FileDialog(msoFileDialogFolderPicker)".
    Après sélection, le chemin s'affiche dans la TextBox et est stocké en cellule A5.

    ► Après avoir complété les 3 champs, l'utilisateur doit presser un CommandButton qui lance la vérification des données rentrées.
    ► Une fois que tout est validé, un autre CommandButton apparaît, et permet de lancer la conversion.

    À partir de là, je souhaite que ma macro ouvre le fichier à partir du chemin contenu en cellule "A4".
    J'ai suivi les tutoriels sur le forum pour essayer de solutionner mon problème, mais la seule rubrique expliquant ce genre de fonction permet d'ouvrir directement le fichier sélectionné après sa validation dans l'explorateur Windows.
    J'ai également parcouru les FAQ et recherché si quelqu'un avait eu le même problème que moi, sans résultat...

    Auriez-vous une solution à me proposer ?
    Est-ce que cela est faisable ou et-ce que je cherche quelque chose d'introuvable ?

    Merci d'avance pour vos aides !
    Bastien.

    PS : Si vous pouvez détailler les fonctions que vous utilisez pour une éventuelle solution, je vous serez éternellement reconnaissant (Je suis un peu mou du bulbe et j'aime bien comprendre le contenu des fonctions )

  2. #2
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Par défaut
    Bonjour à tous
    Bonjour Binarys

    j'ai bien compris, peux-tu essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub ouvre_fichier()
        Workbooks.Open Range("A4")
    End Sub
    A adapter
    Eric

  3. #3
    Membre averti
    Homme Profil pro
    Documentaliste
    Inscrit en
    Mars 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Documentaliste

    Informations forums :
    Inscription : Mars 2017
    Messages : 15
    Par défaut
    Bon... et bien... Hum... merci !
    Je suis confus, je ne pensais pas que c'était aussi simple que ça...

    J'avais déjà tenté ce code, mais avec un "userform1.textbox1.text", ça n'avait pas été concluant.
    J'ai cherché bien trop compliqué apparemment...

    Un grand merci pour ton aide Eric !
    Bonne fin de journée !

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour à vous,

    Je me permets

    Quitte à formuler des redondances, pour ma part, je préfère
    - mentionner l'argumentation d'une méthode
    - rattacher les objets

    Ici donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub ouvre_fichier()
        Workbooks.Open Filename:= Worksheets("mafeuille").Range("A4").Value
    End Sub
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub ouvre_fichier()
        Workbooks.Open Filename:= Worksheets("mafeuille").[A4]
    End Sub
    De mémoire,
    La mise entre crochets correspond à la méthode "Evaluate"

  5. #5
    Membre averti
    Homme Profil pro
    Documentaliste
    Inscrit en
    Mars 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Documentaliste

    Informations forums :
    Inscription : Mars 2017
    Messages : 15
    Par défaut
    Bonjour MarcelG,

    Effectivement, même si la méthode d'Edelweisseric est très directe et fonctionne très bien, par mesure de précautions, je vais utiliser ton code pour m'assurer que j'ouvre bien le contenu de la cellule A4 dans la bonne feuille de mon premier classeur.
    Et cela facilitera une potentielle relecture !

    Merci à toi !

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 04/06/2014, 15h09
  2. [XL-2007] Suppression fichier dont le nom est à récupérer dans une cellule
    Par 2lester dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/03/2012, 19h26
  3. Réponses: 7
    Dernier message: 10/11/2010, 14h39
  4. Réponses: 4
    Dernier message: 22/02/2007, 11h01
  5. [XSLT] Attribut dont le nom est stocké dans une variable ?
    Par Xfennec dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/03/2006, 12h20

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