Ajout élément tableau excel avec VB

cs_cloe Messages postés 11 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 25 mai 2002 - 31 janv. 2002 à 14:50
cs_Cassidy Messages postés 39 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 11 mai 2005 - 6 févr. 2002 à 20:38
Hello,
J'ai un big problème je voudrais pouvoir ajouter des éléments dans un tableau excel à partir de VB.
Car j'ai essayer avec :
Dim xlapp As excel.Application
Dim xlbook As excel.Workbook
Dim xlsheet As excel.Worksheet
Dim excelsheet As Object

Set xlapp = excel.Application
Set xlbook = xlapp.Workbooks.Add
Set xlsheet = xlbook.Worksheets.Add
Set excelsheet = CreateObject("excel.sheet")
xlsheet.Cells(1, 1).Value = text1.text

Mais à chaque fois il remplace au lieu d'ajouter
Que faire??????????????????????????

Aussi à chaque fois il intègre mon tableau dans la feuil4 de excel et quand je met :
....xlsheet("Feuil1").cells(1,1).......
il me dit qu'il ne gère pas l'élément "Feuil1"
Il y a t-il un composant ou une référence que je doit intégrer???????????????

Merci d'avance pour votre aide
Et Bonne journée à tous

14 réponses

Zackarry Messages postés 28 Date d'inscription vendredi 13 juillet 2001 Statut Membre Dernière intervention 1 février 2002
31 janv. 2002 à 17:58
Chère cloé

La question que j me pose c'est : es tu blonde ?? parce que si c le cas change de métier !!
mdrrrrrrrrrrrrrr !!!!!!!!!!!
0
Zackarry Messages postés 28 Date d'inscription vendredi 13 juillet 2001 Statut Membre Dernière intervention 1 février 2002
31 janv. 2002 à 18:00
Chère cloé

La question que j me pose c'est : es tu blonde ?? parce que si c le cas change de métier !!
mdrrrrrrrrrrrrrr !!!!!!!!!!!
0
cs_cloe Messages postés 11 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 25 mai 2002
1 févr. 2002 à 08:17
J'ai demandé des info sur excel, et non sur mon physique. Alors si tune peut répondre à mon pb, ferme la.
Je ne savais pas qu'il fallait un certain physique pour travailler dans l'informatique, c'est vraiment un truc de gros macho ça.
Bonne journée et continu dans ta connerie.
0
Zackarry Messages postés 28 Date d'inscription vendredi 13 juillet 2001 Statut Membre Dernière intervention 1 février 2002
1 févr. 2002 à 09:51
LOL t'énerve pas ma puce, je disais juste ca pour pas que tu perde ton temps. ET pour répondre a ta question, oui je connais la réponse mais comme t'es vachement intelligente tu vas trouver toutes seule.
mdrrrrrrrrrrrrrrrrr !!!!
ca casssssseeeeeeeeeee !!!!
0

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

Posez votre question
cs_cloe Messages postés 11 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 25 mai 2002
1 févr. 2002 à 11:06
Premièrement je ne suis pas ta puce
Deuxièmement je demande une aide donc si tu ne veux pas (ou tu ne peut pas), tu t'en vas.
0
cs_Cassidy Messages postés 39 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 11 mai 2005
1 févr. 2002 à 18:04
Ouais, bon je vais pas trop faire de commentaire sur les reflexion très constructive de Zackarry

Pour ton probléme de cellule, les données sont remplacées car tu change jamais les valeurs de ta cellule : xlsheet.Cells(1, 1).Value = text1.text
et tu rentre toujours les infos dans la cellule1,1

Pour changer de cellule utilise un compteur
genre

defini le compteur qq part: Dim i as integer
initialise i := 1

dans ta procedure :
xlsheet.Cells(i, 1).Value = text1.text
i := i + 1 (incremente le compteur)

Pour ce qui est de la feuille excel la tout de suite je sais pas
(Au fait si tu sais importer des feuilles excel sous access en VB n'hesite pas à m'en faire part, je seche un peu)
A + Cass
0
cs_cloe Messages postés 11 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 25 mai 2002
4 févr. 2002 à 08:17
Oui, mais comment je peux faire pour sauvegarder un chiffre constament. Car par exemple si dans la 1ére utilisation je prend 4 ligne du tabl comment dire au prog d'aller rechercher la dernière ligne.
Tu comprends ?
Et pour ton pb je ne sais pas mais je vais regarder.
0
cs_cloe Messages postés 11 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 25 mai 2002
4 févr. 2002 à 08:45
Est ce que tu peux me dire ce que tu veux faire avec la feuille excel sous acces ac vb. stp.
0
chipaolee Messages postés 23 Date d'inscription lundi 6 août 2001 Statut Membre Dernière intervention 14 avril 2005
4 févr. 2002 à 09:54
La meilleur façon de répondre Cloé, c'est l'ignorance...
0
cs_Cassidy Messages postés 39 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 11 mai 2005
4 févr. 2002 à 10:00
je vais repondre à ton prbm comme je l'ai compris :
Pour retrouver le numero de ligne, il faut balayer la colonne jusqu'a ce que tu trouve une cellule vide
Pour ça tu fait une boucle avec un compteur et tu test si la cellule est vide genre If Cells(i, 1) = ""
tu sort de la boucle quand tu l'a trouvée et la tu à ton numero de ligne.

Sinon, ce que je veux faire sous access : c'est importer les données d'une table excel dans une nouvelle table access (pour ensuite repartir les infos avec des requête, mais ça je sais faire) SANS utiliser l'assistant de MERDE d'importation de données access.
Si tu ne sais pas, te casse pas trop, c'est pas urgent j'ai encore pas mal de boulot à côté de ça.
Sur ce A + Cass
0
cs_Cassidy Messages postés 39 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 11 mai 2005
4 févr. 2002 à 10:34
Note, la méthode précédante est la première qui m'est passée par la tête mais, en y repensant il y en à d'autres : stocker la valeur de ton compteur dans une cellule fixe (genre deuxième colonne: cells(1,2)) ou dans un fichier txt...
Parcequ'en y repensant ma méthode va bien mais ça dépend aussi de ton tableau excel.
Si tu compte rentrer un très grand nombre de lignes cette méthode risque de ne pas être très performante. Maintenant à toi de choisir en fonction de ton appli.
A + Cass
0
cs_cloe Messages postés 11 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 25 mai 2002
5 févr. 2002 à 09:44
Salut,
Encore p'tit pb
Quand je spécifie la feuille dans laquelle je veux que mon prog integre :
excelsheet("Feuil1").cells(1, 1).value = "hello"
J'ai une erreur qui me dit qu'il ne prend pas en charge l'élément "Feuil1"
Il y a t-il quelque chose à ajouter ? ou est que cette formule est correcte?
Merci
A+
0
cs_Cassidy Messages postés 39 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 11 mai 2005
5 févr. 2002 à 14:03
Ouais
D'abord va voir dans ta feuille Excel l'editeur Vb (alt + F11) regarde le nom de tes feuilles en ht à g dans l'explorateur de projets normalement tu à le nom de l'objet genre Feuil1 et sa propriété name entre parenthèses (Feuil1 par defaut)
Lorsque tu utilise excelsheet("Feuil1") c'est la propriété name que tu met entre " "

si c'est pas ça la source du problème je te suggére change de code et essaye :

NomDeTonClasseur.sheets("feuil1").select
cells(1,1) = "hello"

Voilà, si je pense à autre chose je te ferais signe
A + cass
0
cs_Cassidy Messages postés 39 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 11 mai 2005
6 févr. 2002 à 20:38
Salut cloe, voilà le code pour Excel, je l'ai teste chez moi, il marche :

Private Sub Command1_Click()
Set ClasseurXLS = CreateObject("Excel.application")
ClasseurXLS.Workbooks.Open "c:\excel.xls"
'ça c'est pas indispensable :
ClasseurXLS.Visible = True
'ça c'est la commande pour changer de feuille
Workbooks("Excel.xls").Worksheets("feuil2").Activate
Cells(1, 1) = "Bonjour cloe"
'si tu veux à nouveau changer de feuille il faut reecrire cette commande
Workbooks("Excel.xls").Worksheets("feuil1").Activate
Cells(1, 1) = "C'est Cassidy"
End Sub

en gros, à chaque fois que tu veux changer de feuille (que ce soit pour lire ou y
ecrire des info) tu dois utiliser cette commande
Workbooks("Excel.xls").Worksheets("feuil1").Activate
Tant que tu ne change pas de feuille tu peux enchainer les lecture ou insertion de
données dans les cellules :
genre
Workbooks("Excel.xls").Worksheets("feuil1").Activate
Cells(1, 1) = "Bonjour"
TaVariable = cells(2,1)
...

Voilà,
A + Cass
0
Rejoignez-nous