J'ai un légèr problème dans mon code, et, n'étant pas super calé en vba, je ne vois pas du tout d'où ça peut venir.
Je cherche à prendre des valeurs d'un classeur, et les copier dans un autre. En gros, c'est de l'export de données d'un classeur à un autre.
Alors le truc c'est que ma valeur est copiée, no problemo, mais par contre le fichier depuis lequel on extrait la valeur n'est plus ouvrable par la suite... Ce qui est bien dommage !
J'ai trouvé ce code sur le net, et je me demande si le problème ne viendrait pas de "Set xls = Nothing"
Public Sub Qexport_test()
Dim xls As Object ' déclaration d'une variable objet de type classeur Excel
Dim var1 As String
Set xls = GetObject("monfichier.xlsx") 'instanciation de l'objet (qui devient ici le fichier excel indiqué)
'je rentre une valeur dans mon fichier, histoire de dire
xls.Worksheets(1).Range("B6").Value = "1"
' import de données: on choisit les valeurs qui nous intéresse
var1 = xls.Worksheets(1).Range("C2").Value
'on met ces valeurs dans la cellule de notre fichier
Worksheets(2).Range("B2").Value = var1
xls.Save
Set xls = Nothing
End Sub
Merci de votre aide !
Z
A voir également:
Export de donnée d'un classeur à un autre => supression fichier ?
Merci pour ta réponse, mais malheureusement ça ne change rien.
J'ai bien remplacé xls.save par xls.close TRUE, mais monfichier.xlsx ne s'ouvre toujours pas.
J'ai complêtement fermé excel (manuellement) après coup aussi, mais le fichier ne s'ouvre plus. Il m'ouvre Excel, mais sans aucun classeur ouvert.