Amelie_29
Messages postés41Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention30 octobre 2008
-
10 févr. 2006 à 17:07
satrincha
Messages postés8Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention19 septembre 2011
-
10 févr. 2006 à 18:04
Bonjour!!
Je crée une procédure qui créé un nouveau fichier excel de cette façon :
Set xlapp = New
Dim xlapp As Excel.Application
Dim Workbook As Excel.Workbook
Screen.MousePointer = vbHourglass
Set xlapp = New Excel.Application
xlapp.DisplayAlerts = False
xlapp.WindowState = xlMaximized
xlapp.Visible = True
xlapp.ShowWindowsInTaskbar = True
xlapp.Workbooks.add
Suis une liste de traitements à effectuer sur la feuille excel. Or ma procédure est trop grande. J'essaie de la découper mais je n'ai aucune idée de la façon dont je peux récupérer cette même feuille dans mes sous-procédures (j'ai essayé plusieurs commandes _ GetObject, Active worksheet, activeworkbook...) mais l'objet xlapp n'est jamais reconnu (les autres non plus d'ailleurs)
Comment faut-il déclarer ses variables et les initialiser?
(S'il y a des paramètres je ne sais pas non plus comment les passer lorsque j'appelle ma sous-procédure à partir de ma form_load).
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 10 févr. 2006 à 17:31
Si ta procédure est trop grande (et il faut vraiment qu'elle soit
gigantesque pour causer une erreur), il y a obligatoirement des moyens
de regrouper des actions dans des procédures annexes. Un exemple
ci-dessous.
Set xlapp = New
Dim xlapp As Excel.Application
Dim Workbook As Excel.Workbook
Screen.MousePointer = vbHourglass
Set xlapp = New Excel.Application
<strike>xlapp.DisplayAlerts = False
xlapp.WindowState = xlMaximized
xlapp.Visible = True
xlapp.ShowWindowsInTaskbar = True
</strike>FaireDesChoses xlapp
xlapp.Workbooks.add
[...]
Public Sub FaireDesChoses(ByRef e as Excel.Application)
satrincha
Messages postés8Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention19 septembre 2011 10 févr. 2006 à 18:04
Salut,
Si t'enleve la premiere ligne : Set xlapp = New, ton code fonctionne correctement.
N'oublie pas d'ajouter la référence à ton projet "Microsoft Excel Object Library" (Menu : Projet / References), sinon comme dans ton cas, vb ne reconnait pas les objets que tu utilise.
Ensuite, tu as plusieurs façon d'exploiter excel
Un autre exemple :
Dim xlapp As Object
Set xlapp = CreateObject("Excel.Application")
' Supprime l'affichage des messages d'erreurs ou de confirmation de suppression
xlapp.DisplayAlerts = False