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 :

Choisir sur quel fichier aller faire travailler sa macro avec un UserForm


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
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 39
    Par défaut Choisir sur quel fichier aller faire travailler sa macro avec un UserForm
    Bonjour,

    Je sèche pour trouver le bout de code me permettant de définir manuellement, une fois ma macro lancée, le nom du fichier sur lequel aller chercher des info.

    J'ai un fichier de suivi, avec disont des notes de frais, qui me sont envoyées par mail, et toujours avec des noms différents. Ma macro va chercher les info dans les notes de frais pour les mettre dans mon fichier de suivi. Seulement, je ne sais pas comment mettre en place un InputBox par exemple, qui me demanderait au début du lancement de ma macro quels sont les premiers mots du nom du fichier de la note de frais, et qui comprendrait sur quel fichier aller chercher mes info.

    Merci d'avance pour votre aide. Voici le bout de code que j'ai commencé à essayer de taper :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     'Selectionner le fichier travel request (la "note de frais")
            Dim wb1 As Workbook
            For Each wb1 In Application.Workbooks
            'Ma tentative infructueuse pour qu'un InputBox vienne me demander quels sont les premiers mots du nom du fichier de la note de frais
            If wb1.Name Like Name = InputBox("Name? : ") Then wb1.Activate:
            Next wb1
     
    'Nomme ce workbook WbTravel pour pouvoir l'appeler plus tard dans le code
            Set wbtravel = ActiveWorkbook

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Pas besoin d'une InputBox. Tu peux utiliser les boîtes de dialogues d'Excel

    Tu utilise la collection Dialogs

    Et tu choisis la bonne boîte avec cette énumération (XlDialogOpen dans ce cas)


    P.S. Je ne sais pas si c'est vraiment ce que tu veux; mais cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For Each wb1 In Application.Workbooks
    ne fonctionne que pour les classeurs déjà ouverts dans la session d'Excel active. Elle ne peut rien faire pour les fichiers qui ne sont pas déjà ouverts. Ma réponse fonctionne plutôt avec les fichiers non ouverts.

    Si, si tu veux choisir un fichier parmi les fichiers déjà ouverts, tu es probablement mieux de les afficher dans un ListBox, soit sur une feuille, soit sans dans un UserForm

    Et pour faciliter la vie des autres répondeurs, ce ne serait pas une mauvaise chose que tu précises si tu veux retrouver et ouvrir un fichier fermé, ou si tu veux choisir un fichier déjà ouvert. Comme tu peux le constater, ce sont plutôt deux approches différentes.

  3. #3
    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 : 67
    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
    Bonsoir Clément,

    pour ton post.

    Au demeurant, j'ai quelque difficulté à ouvrir le lien énumération.

    A toute fin utile, j'ai trouvé cet espace sur l'argumentation de la collection Dialogs.

    Bonne soirée à tous.

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par MarcelG Voir le message
    Bonsoir Clément,

    pour ton post.

    Au demeurant, j'ai quelque difficulté à ouvrir le lien énumération.
    Même chose chez-moi. Pourtant cela marchait au moment où je l'ai mis. Mais, il n'y avait pas les valeurs numériques, juste les noms

    Ceci dit, je ne suis pas vraiment surpris. MS est en train de "convertir" MSDN en Docs. Des fois c'est l'enfer. Par exemple quand il veut absolument connecter le compte Microsoft avant de chercher et qu'il ne réussit pas à trouver le compte Microsoft.

    Pour info, la parade que j'utilise c'est de préfixer les recherches dans Bing! avec Msdn; comme par exemple: Msdn excel dialogs

    Quand à savoir si la marche avec Google, je ne sais pas...

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 39
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Si tu veux choisir un fichier parmi les fichiers déjà ouverts, tu es probablement mieux de les afficher dans un ListBox, soit sur une feuille, soit dans un UserForm
    Merci pour ta réponse Clément! Je vais essayer de partir sur un ListBox qui m'affiche les fichiers qui sont actuellement ouverts alors. Une petite idée du code peut-être haha ? Car pour préciser, comme tu le conseille, je souhaite en effet retrouver un fichier ouvert au moment où ma macro tourne

  6. #6
    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 : 67
    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,

    (Si tu permets, Clement.)

    Pour lister les classeurs ouverts dans une session Excel, il suffit de parcourir la collection Workbooks.
    Pour alimenter un contrôle Listbox, autrement dit alimenter la collection de ses items, voir cet espace sur le contrôle Listbox.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 39
    Par défaut
    Bonjour Marcel,

    Merci à toi aussi pour ta réponse. Cependant, je suis désolé mais j'ai du mal à voir comment se code concrètement les solutions dont vous me parler. Si j'en reviens à mon code de départ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'Selectionner le fichier travel request (la "note de frais")
            Dim wb1 As Workbook
            For Each wb1 In Application.Workbooks
            'Ma tentative infructueuse pour qu'un InputBox vienne me demander quels sont les premiers mots du nom du fichier de la note de frais
            If wb1.Name Like Name = InputBox("Name? : ") Then wb1.Activate:
            Next wb1
    Par quoi dois-je remplacer ma ligne en rouge qui ne fonctionne pas, pour pouvoir dire à ma macro sur quel fichier ouvert aller chercher mes info ?

  8. #8
    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 : 67
    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
    Par quoi dois-je remplacer ma ligne en rouge qui ne fonctionne pas, pour pouvoir dire à ma macro sur quel fichier ouvert aller chercher mes info ?
    As-tu consulté le tutoriel que je t'ai indiqué?
    Le contrôle Listbox (ou Combobox) sera alimenté par le nom des classeurs ouverts.
    La boucle que tu as reportée est exacte. Il te reste à procéder à l'alimentation de la Listbox.
    Un exemple est donné dans le tutoriel.

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

Discussions similaires

  1. [debutant][struts] Définir le nom dune composante html
    Par pmartin8 dans le forum Struts 1
    Réponses: 1
    Dernier message: 05/05/2006, 14h38
  2. [VBA-E]Définir un nom au classeur créé
    Par LeSqual dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/05/2006, 09h37
  3. [FPDF] définir le nom du pdf créé
    Par fabrice1596 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 07/04/2006, 09h40
  4. Réponses: 21
    Dernier message: 18/08/2005, 16h06
  5. Réponses: 7
    Dernier message: 07/09/2004, 14h16

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