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 :

Problème Workbooks.open help


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Actuaire
    Inscrit en
    Juillet 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Actuaire
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 49
    Par défaut Problème Workbooks.open help
    Salut à tous!
    J'essaie de faire une macro récupérant des données dans 2 autres classeurs au format identique (pâr format j'entend mise en page, la case A1 d'un classeur est égale à la case A1 du second classeur. Le but de ma macro va être de soustraire ces deux cases dans un 3eme classeur.

    Ma macro est donc dans ce 3eme classeur qui se remplit en grace aux 2 autres.
    Mais le pb n'est pas la , voici ma macro:

    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
    Sub Creation_SHNB()
        Dim i, j As Integer
        Dim stock, nb As Workbook
        Dim workspace As Variant
     
     
     
        MsgBox "Assurez vous que Det CF Stock et Det CF NB soient dans le même dossier que Det CF SHNB", vbOKOnly
        workspace = InputBox("Veuillez spécifier l'adresse du workspace contenant les Det CF")
     
         nb = Workbooks.Open(Filename:=workspace & "\Det CF NB.xls")
        stock = Workbooks.Open(Filename:=workspace & "\Det CF Stock.xls")
     
     
     
     
     
     
     
    End Sub
    c'est donc le début de la macro, elle va ouvrir les fichiers NB et Stock pour les utiliser après.
    Cependant, si je lance la macro, à cet état la (j'ai remplacé les fichiers cibles par des classeurs excel vide portant le meme nom, c'est plus rapide a l'ouverture pour les tests), la macro s'arrête à nb et met une erreur:
    "Erreur d'execution 91 , variable objet ou variable block with non définie"

    Cependant, si je met stock avant nb j'obtiens l'erreur suivante (la macro s'arrete sur stock)
    "Erreur d'execution 438 , propriété ou méthode non gérée par cet objet"
    Sauf que dans les deux cas , le classeur s'ouvre, mais le programme ne veut pas continuer jusqu'a ouvrir le second classeur. Je n'arrive pas a résoudre ce problème, pouvez vous m'aider svp?

    Merci!
    Guillaume

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Qu'est-ce que tu entends par "l'adresse du workspace" ? Qu'est-ce que tu as entré, par exemple ?
    Pour éviter les erreurs de saisie, tu pourrais utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Fich As String
    Fich = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
    Workbooks.Open Fich

  3. #3
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim stock As Workbook, nb As Workbook
    Pour la déclaration de variables:
    http://silkyroad.developpez.com/VBA/LesVariables/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set nb = Workbooks.Open(Filename:=workspace & "\Det CF NB.xls")
    Pour l'affectation de variables objet:
    http://mhubiche.developpez.com/Access/variables/

    Bonne lecture

Discussions similaires

  1. [XL-2013] Problème avec workbooks.open
    Par eric062 dans le forum Excel
    Réponses: 2
    Dernier message: 18/06/2014, 14h16
  2. Problème avec Workbooks.Open
    Par kolchang dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/07/2010, 11h30
  3. [VBA-E] Lancer workbook open
    Par ptitsoleil87 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 31/12/2005, 12h40
  4. Problème avec open() [Excel VBA]
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/11/2005, 16h21
  5. Ouverture CSV par Workbooks.open
    Par PoPmiSiR dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/10/2005, 10h19

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