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