Ouverture / fermeture / selection --> VBA

B

Blues

Guest
Ouverture / fermeture / selection --> VBA

Bonjour,

J'ai encore une petite question si tu arrives encore à me répondre. Dans mon code j'ouvre un autre classeur excel avec --> Workbooks.open Filename:="C:\hdd\test.xls"

Mais après j'aimerais re-sélectionné mon premier classeur que j'appelerai origine.xls ! Ainsi, les calculs que ma macro lancera se feront dans mon classeur de départ et non pas dans celui qui a été ouvert pour aller chercher des informations. Je sais pas si tu as tout compris...

Et pour finir, oui je sais je ne suis pas chiant, pour fermer le claseur, puis-je seulement faire -->
Workbooks.Close Filename:="C:\hdd\test.xls" ?

Merci encore pour tout.
 
J

Jon

Guest
Re: Ouverture / fermeture / selection --> VBA

Bonjour

Essaye par exemple le code suivant :


sub toto
set actWB=activeworkbook
Workbooks.open Filename:="C:\hdd\test.xls"
actWB.activate
... tes calculs
end sub



le hic avec la fonction Windows c'est qu'il faut connaître le titre exact du classeur, ou savoir si c'est l'index du classeur parmi tous les classeurs ouverts.

Jon
 
B

Blues

Guest
Re: Ouverture / fermeture / selection --> VBA

Merci, ça fonctionne nickel. :p

Par contre, impossible de refermer le classer ouvert spécialement pour l'importation de donnée avec :

Workbooks.Close Filename:="c:\hdd\test.xls"

Sais-tu pourquoi ?

Merci
 
B

Blues

Guest
Re: Ouverture / fermeture / selection --> VBA

J'ai trouvé une solution en utilisant windows(...).Close

Mais, bien sûr il y a toujours un "mais", dans mon code une fenêtre dans laquelle j'entre mes données est censée se refermer à la fin de son execution (donc après avoir fermer le classeur test.xls. Cependant, elle ne se ferme pas. Donc pour l'instant j'ai été dans l'obligation de placer la fermeture de cette fenêtre avant la fermeture de l'autre classeur. Pour moi qui suis au courant, il n'y a pas de problème, mais normalement se sont de futurs collègues qui utiliseront ce classeur avec cette macro dans l'avenir, et je ne sais pas si ils attendront, ou s'ils fermeront le classeur en cours par la force. Voilà pourquoi j'essaye de faire que la fenêtre se ferme en dernier, ça leur servira ainsi d'indicateur.

Je vais vous coller une partie du code, si vous pouvez regarder où j'ai pu "merder".

Merci


Private Sub BTcreer_Click()

Set actWB = ActiveWorkbook
Workbooks.Open Filename:="S:\Excel\Reporting\Saisie des données\performance des portefeuilles.xls"
actWB.Activate
'Ouvre le classeur excel "performances des portefeuilles.xls"
'Selection du classeur composite

Range("O1").Select
ActiveCell.FormulaR1C1 = "Return " + TXTx.Text
Range("O3").Select
ActiveCell.FormulaR1C1 = "=IF('S:\Excel\Reporting\Saisie des données\[performance des portefeuilles.xls]Feuil1'!R[3]C2<>"""",VLOOKUP(RC1,'S:\Excel\Reporting\Saisie des données\[performance des portefeuilles.xls]Feuil1'!C2:C52," + TXTcolreturn.Text + ",False),"""")"
'Formule d'importation des données à partir du classeur Reporting / Perf. des portefeuilles
'Importation des performances


Range("P1").Select
ActiveCell.FormulaR1C1 = "Masse " + TXTx.Text
Range("P3").Select
ActiveCell.FormulaR1C1 = "=IF('S:\Excel\Reporting\Saisie des données\[performance des portefeuilles.xls]Feuil1'!R[3]C2<>"""",VLOOKUP(RC1,'S:\Excel\Reporting\Saisie des données\[performance des portefeuilles.xls]Feuil1'!C2:C52," + TXTcolmasse.Text + ",False),"""")"
'Formule d'importation des données à partir du classeur Reporting / Perf. des portefeuilles
'Importation des fonds sous gestion


Range("Q1").Select
ActiveCell.FormulaR1C1 = "% " + TXTx.Text
Range("Q3").Select
ActiveCell.FormulaR1C1 = "=IF(AND(RC[-2]<>"""",RC12<>""""),RC[-2]/RC12,"""")"
'Formule permettant de connaître la proportion du portefeuille dans le composite


Range("O3").Copy Range("O4:O500")
Range("P3").Copy Range("P4:p500")
Range("Q3").Copy Range("Q4:Q500")
'Copie les formules exposées ci-dessus dans les x celulles du dessous

FORMnewportefeuille.Hide
'Cache la fenêtre "ajouter nouveau portefeuille"

Windows("performance des portefeuilles.xls").Close
'ferme le classeur excel "performances des portefeuilles.xls"



End Sub
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 017
Messages
2 104 584
Membres
109 084
dernier inscrit
mizab