Problème Sélectionner feuille autre classeur

flostralian Messages postés 32 Statut Membre -  
flostralian Messages postés 32 Statut Membre -


Bonjour à tous,

J'ai cherché une solution sur le forum mais en vain... J'ai essayé de nombreuses solutions énoncées .....

Partant d'excel, je souhaite faire une macro (VB2005) pour exporter des données excel d'un premier classeur vers un autre classeur.

Le problème est au niveau de la sélection de la feuille et de de la sélection de cellules dans le second classeur.

Lors de la macro, je me suis rendu compte que la sélection se faisait dans le premier classeur ou j'ai lancé la macro, et non dans le second comme souhaité.

Pouvez vous me donner quelques conseils svp?

Merci beaucoup

Voici mon code:
------------------------------------------------------------------

Sub Export()

Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

'Ouverture de l'application = OK
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = True

'Ouverture d'un fichier Excel = OK
Set wbExcel = appExcel.Workbooks.Open("D:\....\toto.xls")
appExcel.Visible = True

' Selection de wsExcel correspond à la deuxième feuille du classeur = PROBLEME = "Run time error 9, Subscript out of range" sur les lignes suivantes.
' la sélection se fait dans le premier classeur, et non dans le second comme souhaité.
Set wsExcel = wbExcel.Worksheets(2)

'J'ai aussi essayé pour la ligne ci dessus de remplacer par les codes suivants.mais en vain.
'Activebook.Sheets("feuille2").Select
'ActiveSheet.Range("A4").Select

End
A voir également:

2 réponses

melanie1324 Messages postés 1561 Statut Membre 156
 
bonjour,

en plus simple :

Sub Export()

Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

'Ouverture de l'application = OK
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = True

'Ouverture d'un fichier Excel = OK

classeurorigine = activeworkbook.name

Set wbExcel = appExcel.Workbooks.Open("D:\....\toto.xls")
appExcel.Visible = True

classeurexport = activeworkbook.name

workbook(classeurorigine).activate
Activebook.Sheets("feuille2").Select
ActiveSheet.Range("A4").Select

End
0
flostralian Messages postés 32 Statut Membre
 
Merci de ton aide,
J'essayerai demain ..
Florian
0