Lancer une macro excel en VB
Résolu/Fermé
Clic44
Messages postés
427
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
11 mai 2013
-
9 juin 2009 à 14:35
Clic44 Messages postés 427 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 11 mai 2013 - 9 juin 2009 à 16:22
Clic44 Messages postés 427 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 11 mai 2013 - 9 juin 2009 à 16:22
A voir également:
- Lancer une macro excel en VB
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Mise en forme conditionnelle excel - Guide
- Word et excel gratuit - Guide
6 réponses
Clic44
Messages postés
427
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
11 mai 2013
123
9 juin 2009 à 15:40
9 juin 2009 à 15:40
J'essaye depuis une bonne heure d'ouvrir mes fichiers excel autrement, mais pas une seule méthode que j'essaye ne marche :
Dim oXL As Excel.Application
Dim oBook As Excel.Workbook
Dim oSheet As Excel.Worksheet
' Create a new instance of Excel and make it visible.
oXL = CreateObject("Excel.Application")
oXL.Visible = True
' Add a new workbook and set a reference to Sheet1.
oBook = oXL.Workbooks.Add
oSheet = oBook.Sheets(1)
est la méthode de base tirée depuis le site microsoft, cependant j'ai toujours un message d'erreur sur la ligne
oBook = oXL.Workbooks.Add
qui me dit Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))
Dim oXL As Excel.Application
Dim oBook As Excel.Workbook
Dim oSheet As Excel.Worksheet
' Create a new instance of Excel and make it visible.
oXL = CreateObject("Excel.Application")
oXL.Visible = True
' Add a new workbook and set a reference to Sheet1.
oBook = oXL.Workbooks.Add
oSheet = oBook.Sheets(1)
est la méthode de base tirée depuis le site microsoft, cependant j'ai toujours un message d'erreur sur la ligne
oBook = oXL.Workbooks.Add
qui me dit Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
9 juin 2009 à 15:45
9 juin 2009 à 15:45
Bonjour,
Pense à mettre Set devant tes objets:
N'est-il pas plus simple de faire :
Function Mise_A_Jour_Totale(ByVal parametre As String)
Dim mWk1 as Workbook
Dim mWk2 as Workbook
Dim mWk3 as Workbook
Set mWk1 = Workbooks.Open(parametre)
Set mWk2 = Workbooks.Open("C:\Toto.xls")
Set mWk2 = Workbooks.Open("C:\Tata.xls")
'etc ...
;o)
Pense à mettre Set devant tes objets:
Set oXL = CreateObject("Excel.Application") oXL.Visible = True Set oBook = oXL.Workbooks.Add Set oSheet = oBook.Sheets(1)
N'est-il pas plus simple de faire :
Function Mise_A_Jour_Totale(ByVal parametre As String)
Dim mWk1 as Workbook
Dim mWk2 as Workbook
Dim mWk3 as Workbook
Set mWk1 = Workbooks.Open(parametre)
Set mWk2 = Workbooks.Open("C:\Toto.xls")
Set mWk2 = Workbooks.Open("C:\Tata.xls")
'etc ...
;o)
Clic44
Messages postés
427
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
11 mai 2013
123
9 juin 2009 à 15:52
9 juin 2009 à 15:52
Merci Polux31 de me soutenir,
Pour Set, VB 2008 les supprime automatiquement, ce n'est pas faut d'avoir essayé.
Quand j'essaye ton code, le code me renvoie une erreur à l'appel de Workbooks.Open en me disant Reference to a non-shared member requires an object reference.
Pour Set, VB 2008 les supprime automatiquement, ce n'est pas faut d'avoir essayé.
Quand j'essaye ton code, le code me renvoie une erreur à l'appel de Workbooks.Open en me disant Reference to a non-shared member requires an object reference.
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
9 juin 2009 à 16:02
9 juin 2009 à 16:02
Ah ben !!! il aurait peut être été bon de le préciser ... ma boule de crystal est déjà partie en vacances, vois-tu.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Clic44
Messages postés
427
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
11 mai 2013
123
9 juin 2009 à 16:11
9 juin 2009 à 16:11
Désolé... elle est partie où sinon, je suis pas contre aller la rejoindre, moi je lutte toujours je n'arrive à rien :s
Clic44
Messages postés
427
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
11 mai 2013
123
9 juin 2009 à 16:22
9 juin 2009 à 16:22
Bon j'ai lutté mais j'y suis peut etre... je dis bien peut etre... presque arrivé (par peut etre, il faut encore que je compile tout ca, que j'exécute mes macros, et que ca marche avec les PC de ma boite):
Dim CurrentCI As System.Globalization.CultureInfo
CurrentCI = System.Threading.Thread.CurrentThread.CurrentCulture
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
Dim AppExcel As Application
Dim wsheet As Worksheet
Dim wbook As Workbook
AppExcel = New Microsoft.Office.Interop.Excel.Application
AppExcel.Visible = True
wbook = AppExcel.Workbooks.Open("C:\METEOVENTE\Donnees_brutes\Macros.xls")
System.Threading.Thread.CurrentThread.CurrentCulture = CurrentCI
Dim CurrentCI As System.Globalization.CultureInfo
CurrentCI = System.Threading.Thread.CurrentThread.CurrentCulture
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
Dim AppExcel As Application
Dim wsheet As Worksheet
Dim wbook As Workbook
AppExcel = New Microsoft.Office.Interop.Excel.Application
AppExcel.Visible = True
wbook = AppExcel.Workbooks.Open("C:\METEOVENTE\Donnees_brutes\Macros.xls")
System.Threading.Thread.CurrentThread.CurrentCulture = CurrentCI