|
|||||||
| Développements Tout ce qui touche au développement d'applications ou du Web |
![]() |
|
|
LinkBack (5) | Outils de la discussion | Modes d'affichage |
|
|
#1 (permalink)
|
|
Novice
![]() Date d'inscription: mars 2006
Messages: 22
Pouvoir de réputation: 0
![]() |
Bonjour,
Voial j'ai déclaré une macro vba en Sub auto_open() (execution automatique de la macro lors de son ouverture)dans un classeur xls. Cette macro marche nickel, lorsque je lance manuellement mon fichier, en cliquant sur celui-ci moi même. Par contre quand j'ouvre ce fichier à partir de mon script vbs ci-dessous,mon fichier s'ouvre, mais ma macro ne se lance pas en automatique. Voila ce qui m'amène à vous poser la question suivante : Que dois-je faire pour faire appel à ma macro à partir de mon vbs, pour que celle-ci s'execute en automatique à l'ouverture de mon fichier ? Si vous aviez une autre idée, merci de m'en faire part. Voici mon petit bout de code VBS : Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open("C:\Fichier.xls") objExcel.Visible = TRUE ... Merci d'avance pour vos réponses. NikoZozo |
|
|
|
|
|
#4 (permalink) |
|
Novice
![]() Date d'inscription: mars 2006
Messages: 22
Pouvoir de réputation: 0
![]() |
Bonjour Pascal,
Bon alors voila les resultats :Hier j'ai testé chez moi sur un poste avec Windows XP Pro et service pack 2, J'ai donc copié tes 3 lignes en lancant un fichier excel de test (sans macro auto-open), je n'ai eu aucun message d'erreur sur mon script vbs. La étant au boulot sur un poste windows 2000 équipé du services Pack 4 avec mon bon fichier excel et ma bonne macro auto-open qui va bien . Je viens de tester avec toujours ces 3 lignes, j'obtiens le message d'erreur suivant : Ligne 1 Caract 1 Erreur : Objet requis 'objExcel' Code 800A01A8 Source : Erreur d'execution Microsoft VBSscript J'ai donc modifier ce bout de code de la sorte : Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open("C:\MonFichier.xls") ActiveWorkbook.RunAutoMacros xlAutoOpen objExcel.Visible = TRUE Et voici la description du nouveau message d'erreur : Ligne : 3 Caract. : 1 Erreur : Objet requis: 'ActiveWorkbook' Code 800A01A8 Pourrais- tu me dire ce qui cloche stp ? en Complément d'info, si cela peut avoir de l'importance : environnement office 2000 Voici le début de ma macro Excel : Sub Macro1() Sub auto_open() Merci beaucoup. |
|
|
|
|
|
#5 (permalink) |
|
Débutant
![]() Date d'inscription: mars 2005
Messages: 706
Pouvoir de réputation: 57
![]() |
Contenu du vbs :
Dim objExcel Dim objWorkbook Set objExcel = CreateObject("excel.application") Set objWorkbook = objExcel.Workbooks.Open("c:\Scripts\MonFichier.xls ") objWorkbook.RunAutoMacros 1 'xlautoopen objExcel.Run ("Macro1") objExcel.Visible = True Contenu de la macro : Sub Macro1() ActiveCell.FormulaR1C1 = "1" Range("A2").Select ActiveCell.FormulaR1C1 = "2" Range("A1:A2").Select Selection.AutoFill Destination:=Range("A1:A20"), Type:=xlFillDefault Range("A1:A20").Select Range("A1").Select End Sub |
|
|
|
![]() |
|
|
|||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
| Outils de la discussion | |
| Modes d'affichage | |