Export de donnée d'un classeur à un autre => supression fichier ? [Résolu]

Signaler
Messages postés
15
Date d'inscription
mardi 29 mai 2012
Statut
Membre
Dernière intervention
20 juillet 2012
-
Messages postés
15
Date d'inscription
mardi 29 mai 2012
Statut
Membre
Dernière intervention
20 juillet 2012
-
Bien le bonjour !

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

4 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Je pilote excel depuis... excel :) donc vba


Arfff ! Ta méthode est donc bizarre !

Set xls = Workbooks("monfichier.xlsx") 


suffit à récupérer le fichier donc plus besoin de tout le reste !

Par contre il serait preferable de dimensionner ta variable comme suit :

Dim xls As Workbook


évidemment tout ceci suppose que "monfichier.xlsx" à été préalablement ouvert

A+
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

peut être est-ce du au fait que tu ne ferme pas le fichier ???

essai d'ajouter
Xls.close
apres
xls.save
je dirait même que

Xls.close True
a la place de
xls.save
serait plus sure.

Sinon tu pilote excel depuis quel langage ?

A+
Messages postés
15
Date d'inscription
mardi 29 mai 2012
Statut
Membre
Dernière intervention
20 juillet 2012

Salut bigfish,

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.

Je pilote excel depuis... excel :) donc vba

Aurais-tu une autre idée ?

Merci,
Z
Messages postés
15
Date d'inscription
mardi 29 mai 2012
Statut
Membre
Dernière intervention
20 juillet 2012

Merci bigfish, ça marche parfaitement!

Je n'utiliserai plus GetObject !