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 :

Fermer Workbook depuis userform d'un autre workbook


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 3
    Par défaut Fermer Workbook depuis userform d'un autre workbook
    Bonjour le Forum !

    Merci d'avance de votre aide

    J'ai fais quelques recherches avant de lancer ce Topic, et après plusieurs essais je n'arrive pas à régler mon problème ...

    Je suis en train de créer un fichier permettant d'émettre des offres de prix. Dans ce fichier(New offer) je dois rentrer des opérations d'atelier et dès que je valide l'opération, la macro ouvre un deuxième fichier (Furnizor) afin d'aller récupérer des prix pour mes variables.

    j'arrive bien à ouvrir le deuxième fichier Furnizor, à récupérer toutes mes variables mais je n'arrive pas à fermer le fichier ensuite ... un message apparait pour me dire que la méthode "close" de l'objet "workbook" a échoué .. Peut être savez vous pourquoi ?

    En résumé :

    -Macros affectées sur le fichier NEW OFFER, dans un Userform_initialize .
    -Cette macro ouvre le fichier FURNIZOR.
    -Ensuite, elle récupère en faisant plusieurs recherches des prix, qui sont rentrées dans des variables publiques et utilisées dans la macro du fichier NEW OFFER.
    -Au moment de fermer l'Userform, la macro demande la fermeture du fichier FURNIZOR. C'est là que le problème plante

    Pour essayer de fermer ce fichier j'ai utilisé les codes suivants , tous ont échoués :

    - Workbooks("FURNIZOR.xlsx" ).Close
    - Workbooks("FURNIZOR.xlsx" ).Close false
    - Workbooks("FURNIZOR.xlsx" ).Close savechanges:=false
    - Workbooks("FURNIZOR.xlsx" ).activate
    Activeworkbook.close
    - Workbooks("FURNIZOR.xlsx" ).activate
    Activewindows.close

    merci encore !! je n'arrive pas à comprendre d'où vient le problème ...

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    voir ça peut être c'est intéressent
    https://www.developpez.net/forums/d1...r-excel-ferme/

  3. #3
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour et bienvenue au forum !
    Essaie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("FURNIZOR").Close

  4. #4
    Candidat au Club
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 3
    Par défaut
    Citation Envoyé par riaolle Voir le message
    Bonjour et bienvenue au forum !
    Essaie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("FURNIZOR").Close
    Bonjour Riaolle,

    J'ai essayé et l'indice n'appartient pas à la sélection ... je pense qu'il a besoin de l'extension.

    j'ai aussi essayé avec le chemin complet : workbooks("Monchemin.xlsx").close et la méthode échoué

  5. #5
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    C'est étrange, car quand j'utilise workbooks("Classeur1").Close tout va bien ...
    Tu peux essayer de passer par un objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim wb As WorkBook
    Set wb = Workbooks.Open(nom_du_classeur_avec_chemin)
    ' ce qu'il y a à faire avec le classeur par ex.:
    ThisWorkbook.Sheets(1).Range("A1").Value = wb.Sheets(1).Range("A1").Value
    '...
    wb.Close

  6. #6
    Candidat au Club
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 3
    Par défaut
    Citation Envoyé par riaolle Voir le message
    C'est étrange, car quand j'utilise workbooks("Classeur1").Close tout va bien ...
    Tu peux essayer de passer par un objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim wb As WorkBook
    Set wb = Workbooks.Open(nom_du_classeur_avec_chemin)
    ' ce qu'il y a à faire avec le classeur par ex.:
    ThisWorkbook.Sheets(1).Range("A1").Value = wb.Sheets(1).Range("A1").Value
    '...
    wb.Close

    c'est ce que je viens d'essayer de faire, grace au lien donné plus haut par BENNASR, mais cela ne marche pas non plus ...

    C'est vrai que je ne comprend pas trop non plus .. est ce qu'utiliser un MAC fais une différence ?

Discussions similaires

  1. [XL-2007] Accèder aux "noms définis" d'un workbook caché depuis un autre workbook
    Par Atoplix dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 29/05/2015, 10h41
  2. Copier une cellule depuis une autre workbook dans la feuille source
    Par Haikel22 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 15/06/2014, 17h51
  3. [OL-2007] Fermer excel depuis userform
    Par Ludovic50 dans le forum Outlook
    Réponses: 11
    Dernier message: 20/07/2011, 15h43
  4. Rechercher des données dans un autre workbook
    Par Azounet1529 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/07/2007, 08h26
  5. Comment lancer un commandbouton a partir d'un autre workbook
    Par patate5555 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/07/2007, 05h51

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