yoh_bur
Messages postés24Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention 9 février 2007
-
7 juin 2005 à 14:28
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 2006
-
8 juin 2005 à 19:24
Bonjour.
J'ai besoin a partir de VB6 d'inscrire des valeurs dans des tableaux sous Excel.
Le faire dans une seule Sheet ne me pose aucun pb, mais voila, je dois le faire ds differentes Sheets en fonction de la valeur d'une variable.
J'utilise une fonction a laquelle je passe une feuille active, elle s'occuppe de l'insertion. Elle est declarée comme suit:
Function insert_tab ( Sheet As Object)
...
End function
Mon pb vient du fait que soit les methodes appliques aux objets Excel ne sont pas reconnu, soit la sheet que je passe en argument de la fonction fait planter.
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 7 juin 2005 à 20:07
Salut,
Un exemple que j'ai déjà dû posté :
' dans projet/références......... Microsoft Excel x.x Object Library
Sub essai()
Dim AppExcel As Excel.Application
Dim ClasseurExcel As Excel.Workbook
' Chargement de l'application Excel
Set AppExcel = CreateObject("Excel.Application")
' Ouverture du classeur Excel
Set ClasseurExcel = AppExcel.Workbooks.Open(TonFichierXls)
' appel de ta fonction
insert_tab ClasseurExcel.Sheets(TaFeuille)
' Pour refermer tout proprement
'ClasseurExcel.Save 'pour sauvegarder tes modifs sinon :
'ClasseurExcel.Saved = True ' Pour dire que c'est déjà sauvegardé donc pas de nouvelle sauvegarde
ClasseurExcel.Close
AppExcel.Quit
Set ClasseurExcel = Nothing
Set AppExcel = Nothing
End Sub
Function insert_tab(Feuille As Excel.Worksheet)
With Feuille
.Cells(1, 1) = "toto" ' "toto" dans la cellule A1
.Cells(1, 2) = "truc" ' "truc" dans la cellule B1
End With
...
End Function
@+
-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
yoh_bur
Messages postés24Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention 9 février 2007 8 juin 2005 à 09:36
Merci de ta reponse.
Mais elle me laisse perplexe:
En declarant ma fonction avec un objet du type Excel.WoorkSheet, il me met "Err: Type defini par l'utilisateur non defini"
Pourtant j'ai bien reference Excel 9.0, J'ai mes objets Excel classiques.
Saurais tu egalement me dire pourquoi certaine propriete ou fonctions de ces objets ne semblent pas pris en compte (msg d'erreur propriete non valide, etc...)
yoh_bur
Messages postés24Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention 9 février 2007 8 juin 2005 à 09:49
c juste un pb d'orthographe c insert_tab(sheet as Excel.Worksheet) ac Woorksheet au singulier.
Par contre, j'en reviens a une erreur que je n'arrive pas a comprendre:
sur xlBook.Sheets("toto") il me dit ne pas gerer la propriete ou la methode
yoh_bur
Messages postés24Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention 9 février 2007 8 juin 2005 à 17:19
Alors, ca a presque avancer.
l'appel de l'argument sans paranthese semble accepter et pas celui avec des paranthese.
Mais du coup, il me met type incompatible lorsque j'arrive sur la fct
Sub tab_remplissage()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(App.Path & "\doc\Modele.xls")
Set xlSheet = xlBook.Worksheets(1)
Inscr_Mois (xlBook.Worksheets(1))
End Sub
Public function insert_tab(Sht As Excel.Worksheets)
...
End function
Vous n’avez pas trouvé la réponse que vous recherchez ?