Question : Enregistrer des parametres dans une feuille excel

Résolu
cs_cyriloo Messages postés 60 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 septembre 2007 - 23 mars 2006 à 16:15
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 24 mars 2006 à 08:53
Bonjour!!

Voila j'aurai besoin de vos services:

En fait j'ai un tableau déclaré de la sorte :

Public Tableau(0 to 255) as long

Une valeur est stocké dans chaque adresse du tableau , par exemple

Tableau(1) = 1
Tableau(2) = 8
Tableau(3) = 0
Tableau(4) = 10
...

Je voudrai enregistrer ces parametres dans un tableau excel , sur 2 colonnes, et en descendant d'une ligne pour chaque adresses. On aurai donc un truc de la forme :

Tableau(1) | 1 |
Tableau(2) | 8 |
Tableau(3) | 0 |
....

Je ne sais pas du tout comment faire pour gérer un tableau excel , ni comment le déclarer... Si une âme charitable pouvait me montrer la voie!!

Merci d'avance!!!!!!

14 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 mars 2006 à 16:50
Re,

A ben ca change tout, excuse moi:

Tiens essaie ca pour voir si ca te vas:
Note: Tu doit rajouter a ton projet la reference Microsoft Excel 9.0 Object Library (si c est pas 9.0, tu mets celle que tu as)

Normalement ca t'ouvre un classeur excel et ca te le rempli.
Tu as juste a appeler SaveTab

Private Sub SaveTab()
Dim Ex As New Excel.Application
Dim WB As New Excel.Workbook
Dim WS As Worksheet
Dim i As Integer


Set WB = Ex.Workbooks.Add
Call WB.SaveAs("C:\Test.xls")
Set WS = WB.Sheets(1)


For i = 0 To 255
WS.Range("A" & i + 1).Value = "Tableau(" & i & ")"
WS.Range("B" & i + 1).Value = Tableau(i)
Next i


Set WS = Nothing
Set WB = Nothing
Set Ex = Nothing



End Sub

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 mars 2006 à 16:26
Salut,

Je ne sais pas si ca peu t'aider mais:

Dim i as integer
For i = 0 to 255
ActiveSheet.Range("A" & i).value = "Tableau(" & i & ")"
ActiveSheet.Range("B" & i).value = Tableau(i)

next i

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
cs_cyriloo Messages postés 60 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 septembre 2007
23 mars 2006 à 16:28
Salut , merci pour ta réponse.

Comment faut il faire pour créer la feuille excel a utiliser? merci
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 mars 2006 à 16:31
Re,

Bah tu lance excel,

Tu ajoutes bouton a ta feuille et tu met le code que je t'ai propose apres avoir double clicker sur le bouton
.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cyriloo Messages postés 60 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 septembre 2007
23 mars 2006 à 16:34
Il me fait une erreur "Un objet est requis". Pourtant j'ai bien ouvertr excel
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 mars 2006 à 16:36
Re,

Ou as tu declarer ton Tableau Public Tableau(0 to 255) as long????

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
cs_cyriloo Messages postés 60 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 septembre 2007
23 mars 2006 à 16:37
Non non , tout y est pourtant
0
cs_cyriloo Messages postés 60 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 septembre 2007
23 mars 2006 à 16:38
y a pas un composant a rajouter?
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 mars 2006 à 16:40
Re,

JE te demandais :

A quel endroit as tu declarer "Public Tableau(0 to 255) as long"
Tu travaille bien En VBA Excel ?

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
cs_cyriloo Messages postés 60 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 septembre 2007
23 mars 2006 à 16:41
A non , je suis en VB6 , et le tableau est déclaré dans un module
0
cs_cyriloo Messages postés 60 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 septembre 2007
24 mars 2006 à 07:24
Salut!

Merci pour ta réponse. Je vais tout de suite essayer ça ;)
0
cs_cyriloo Messages postés 60 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 septembre 2007
24 mars 2006 à 07:33
C'est bon , ça roule! Merci beaucoup!!
0
cs_cyriloo Messages postés 60 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 12 septembre 2007
24 mars 2006 à 07:49
Derniére question , Lorsque j'ouvre le .xls après tout ça. Il me dis que le fichier est déja ouvert alors que j'ai fermé l'application. Ce n'est pas un gros probléme puisque je peux l'ouvrir quand même , mais tu ne sais pas comment le fermer dans le code?

Merci
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 mars 2006 à 08:53
Salut,

Peu etre peu tu essayer d'ameliorer la routine en mettant

Avant Call WB.SaveAs("C:\Test.xls")

On Error Resume Next
Call Kill("C:\Test.xls")
On Error GoTo 0

Ensuite Avant: Set WS = Nothing

Rajouter: WB.save
WB.Close

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
Rejoignez-nous