mqsi
Messages postés111Date d'inscriptionmardi 31 octobre 2006StatutMembreDernière intervention28 avril 2010
-
3 nov. 2006 à 12:04
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
4 nov. 2006 à 14:58
Bonjour à tous les amis,
comme indique le titre: j'ai un petit prbleme ,j'arrive a connecté vb avec Excel, a expoter des cellule bien définit,mais j'arrive pas comment enregistrer des infos d'une feuille excel ligne apres ligne dans la meme feuille,c-à-d quand je clic sur une boutton tous les zone de texte qui se trouve ds mon form vont exporter vers Excel ,quand je clic une deuxieme fois les infos serons enregistrer ds la ligne suivante.
Si quelqu'un d'entre vous à la solution,et merci
mqsi
Messages postés111Date d'inscriptionmardi 31 octobre 2006StatutMembreDernière intervention28 avril 2010 3 nov. 2006 à 15:41
voila le mon code , mais ici j'ai definit les rangés "A5" et "B5",moi ce que je veux que les ranges serons dynamique,
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open("C:\MonFich.xls")
'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.Worksheets(1)
wbExcel.Save
wbExcel.Close 'Fermeture du classeur Excel
appExcel.Quit 'Fermeture de l'application Excel
'permet d'enregistrer les modification que l'on fait dans le fichier Excel si True
'sinon ne sauvegarde pas les modification apportées
appExcel.Application.DisplayAlerts = True
'Désallocation mémoire
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing
appExcel.Application.DisplayAlerts = False '**********inutile car
'ce qui fait que tu auras des messages c'est au niveau de l'enregistrement.
'Que je t'ai modifié plus bas, tu ne devrais pas avoir de message
wsExcel.Range("A" & PremiereLigneVide).Value = Text1.Text ' modif ici
wsExcel.Range("B" & PremiereLigneVide).Value = Text2.Text ' et là
wbExcel.Save '**********inutile
wbExcel.Close True 'c'est là que tu enregistres 'Fermeture classeur
appExcel.Quit 'Fermeture de
l'application Excel
appExcel.Application.DisplayAlerts = True '**********inutile
'Désallocation mémoire
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing
--Mortalino-- Colorisation
automatique
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
mqsi
Messages postés111Date d'inscriptionmardi 31 octobre 2006StatutMembreDernière intervention28 avril 2010 3 nov. 2006 à 17:36
j'ai integré le code mais ne marche pas,quand j'execute ;il ya une message d'erreur qui s'affiche "variabe objet ou variable bloc non definie",et le debouguage pointe sur :
PremiereLigneVide = wsExcel.Cells.Find("*", wsExcel.Range("A1"), , , xlByRows, xlPrevious).Row + 1
Vous n’avez pas trouvé la réponse que vous recherchez ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 3 nov. 2006 à 17:46
Ca tombe bien, j'ai travaillé récemment sur une fonction qui présenté le même problème, en fait dans la ligne, il faut remplacer wsExcel par appExcel :
PremiereLigneVide = appExcel .Cells.Find("*", appExcel.Range("A1"), , , xlByRows, xlPrevious).Row + 1
et si t'as encore une erreur, fait ceci :
wsExcel.Range("A1").Select PremiereLigneVide = appExcel.Cells.Find("*", ActiveCell, , , xlByRows, xlPrevious).Row + 1
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--