VBS : changer d'onglet

VBS : changer d'onglet - VB/VBA/VBS - Programmation

Marsh Posté le 15-07-2008 à 16:14:22    

Bonjour,
 
Petite question avant le week end.
Je pilote Excel depuis mon script mais impossible de trouver la sythaxe correcte pour changer d'onglet.  
Le  

Code :
  1. Worksheets("MonNom" ).activate

.
 
de VBA ne marche pas
 
Merci par avance pour vos réponses.
Julien

Reply

Marsh Posté le 15-07-2008 à 16:14:22   

Reply

Marsh Posté le 15-07-2008 à 16:28:03    

Essayer :

Sheets("MonNom" ).Select

Reply

Marsh Posté le 15-07-2008 à 16:32:34    

Déjà testé, ca ne passe mlaheureusement pas en VBS

Reply

Marsh Posté le 15-07-2008 à 16:53:36    

Pour info je fais ca
 

Code :
  1. Set XlApp = CreateObject("Excel.Application" )
  2. Set XlWorkBook = XlApp.Workbooks.Open("chemin\EXCEL.xls" )
  3. Set ActiveSheet = XlWorkBook.Worksheets(onglet2)

Pas d'erreur mais il me fait rien derriere je fais

Code :
  1. XlWorkBook.ActiveSheet.Cells(1, 1).Select

Mais il va chercher dans l'onglet1

Reply

Marsh Posté le 15-07-2008 à 17:04:29    

Donc c'est du VBS et non du VBA !
 
Il faudrait des guillemets autour de onglet2, sinon VB croit que c'est une variable et cette variable ne contient probablement rien. Donc essayer

Set ActiveSheet = XlWorkBook.Worksheets("onglet2" )

ou

XlWorkBook.Sheets("onglet2" ).Cells(1, 1).Select

Reply

Marsh Posté le 15-07-2008 à 17:35:18    

En effet mon message n'etait pas trop clair, mais j'avais tout de meme mis VBS en titre :p
Sinon, je n'avais pas mis de "" car c'est en effet une varaible j'ai essayé en dur mais ca ne passe pas mieux.  
De plus VBS n'a pas l'air de connaitre :
 

Code :
  1. XlWorkBook.Sheets("onglet2" ).Cells(1, 1).Select


 
Sheets n'a pas l'air de faire parti de son vocabulaire.  
Le message d'erreur :
Impossible de lire la propriete Select de la classe Range.

Reply

Marsh Posté le 17-07-2008 à 16:02:42    

A priori, en VBS tu ne peux pas utiliser de Select ni de Activate. Ceci ne fonctionne que si tu as une appli Excel ouverte.
Manipule les objets sans les activer.
Travaille avec un objet Worksheet, un objet Range, etc., mais pas avec ActiveSheet, ActiveCell...

Code :
  1. Set XlApp = CreateObject("Excel.Application" )
  2. Set XlWorkBook = XlApp.Workbooks.Open("chemin\EXCEL.xls" )
  3. Set xlLaFeuille = XlWorkBook.Worksheets(onglet2)


xlLaFeuille au lieu de ActiveSheet
Ensuite travaille avec xlLaCell :

Code :
  1. Set xlLaCell=xlLaFeuille.Cells(1,1)
  2. ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed