baltazar85
Messages postés40Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention30 juin 2006
-
29 juin 2006 à 11:36
baltazar85
Messages postés40Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention30 juin 2006
-
29 juin 2006 à 21:10
bonjour,
voila je voudrais savoir comment ouvrir :
-soit une fenetre exel
-soit faire aparaitre dans ma form une fenetre exel
dans les deux cas il faudrait que je puisse envoyer les information se trouvant dans ma base de donnée pour que la fenetre exel affiche tous mes renseignement de la base pour pouvoir ensuite l'imprimer ( car j'ai bien un essayer un datagridview ou un listview mais je n'y arrive pas et personne ne sait imprimer un datagridview ou listview correctement ,vu que personne n'a répondu a mon sujet parlant de ca ) je me suis donc résolu a utiliser exel meme en espérant que quelqu'un sache comment faire.
Svp comment faire ?
Je vous remercie d'avance pour vos reponse
PS : J'ai aussi penser au cristal reports mais je ne sais pas du tout comment cela fonctionne et je n'ai plus qu'un jour et demi pour terminer mon projet de stage donc je ne peux pas apprendre les 2 en si peux de temps.
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 29 juin 2006 à 14:30
supprime microsoft.office.interop
moi je le met parce que sinon ça fonctionne pas, mais selon ce avec quoi tu programmes tu n'est pas obligé de le mettre
sinon le code
declaration de xlsapp1 comme une appli excel
Dim xlsapp1
As Microsoft.Office.Interop.Excel.Application
declaration de book comme un classeur de l'appli excel
Dim book
As Microsoft.Office.Interop.Excel.Workbook
declaration de sheet comme feuille de l'appli excel
Dim sheet
As Microsoft.Office.Interop.Excel.Worksheet
lance une nouvelle aplli excel
xlsapp1 =
New Microsoft.Office.Interop.Excel.Application
rend visible l'appli
xlsapp1.Visible =
True
ouvre un classeur nommé monclasseur
book = xlsapp1.Workbooks.Open("nomclasseur")
selectionne la feuille nommée nomfeuille
sheet = xlsapp1.Worksheets(
"nomfeuille")
apres pour ta base de données je sais pas comment tu la recupere ou si tu stock quelque chose dans des variables.
si tu as des variables
dim tavariable as "typevariable"
ranfe ta variable dans une cellule
sheet.Range(
"A1").Value = tavariable
baltazar85
Messages postés40Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention30 juin 2006 29 juin 2006 à 16:20
oui c'est des colonne différentes mais j'ai trouver une solution pas super propre mais ca marche pour afficher sur plusieurs colonne^^ mais si ta une meilleur solution je suis preneur
voila le code:
Dim
test(ligne, colo)
As
String
Dim colExel
As
String
For i = 0
To ligne - 1
For j = 0
To colo - 1
Select
Case j
Case 0
colExel =
"A"
Exit
Select
Case 1
colExel =
"B"
Exit
Select
Case 2
colExel =
"C"
End
Select
test(i, j) = dts.Tables(
"Equipe").Rows(i).Item(j)
sheet.Range(colExel & (i + 2)).Value = test(i, j)
Next
Next
oki je vais voir ca pour la date^^ mais ci defois le code te reviens dis le ^^
baltazar85
Messages postés40Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention30 juin 2006 29 juin 2006 à 14:54
alors merci ton code marche nickel pour ouvrir une fenetre exel ainsi que pour ajouter une valeur grace a une variable.
bon alors c'est que ma base de donnée et dans access 2003 et que je la copie dans une datatable dans mon prog seulement.
Je pourrait copier chaque valeur dans une variable mais le porblème c'est que ma base de donnée peut contenir aussi bien 3 lignes que 1000 donc me faudrait une boucle pour utiliser ta méthode qui m'allaire intérésente
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 29 juin 2006 à 15:03
Oui c'est ca il faut faire une boucle je pense, pourquoi pas faire une boucle sur un tableau où tu aurai stocké ta base données.
Je ne connais pas les bases de données, donc la dessus je peux pas t'aider. dsl
baltazar85
Messages postés40Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention30 juin 2006 29 juin 2006 à 15:08
ben ca fait rien tu m'a déja bien aider en m'apportant presque toute la solution a mon problème et c'est deja beaucoup car tout seul je n'y serai pas arriver avant demain^^
donc je te remercie pour ton aide,je validerai ta solution et si quelqu'un a une idée pour la boucle je suis preneur de son idée
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 29 juin 2006 à 15:13
Cherche comment faire la boucle, écrit un petit bout de code et si vraiment tu galère tu reposes une question sur le forum, sinon pour la boucle je peux t'aider, mais il me faut une ébauche à cause de ta base de données.
baltazar85
Messages postés40Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention30 juin 2006 29 juin 2006 à 15:23
ben c'est ce que je fais j'essaye de faire un petit bout de code^^ si tu veux je peux t'envoyer la base de donnée ainsi que le code pour aller chercher ce qui a dans la base de donnée et les afficher dans un datagridview ^^
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 29 juin 2006 à 15:37
j'ai pas acces.
un datatable c'est un peu comme un datagridview ? "en gros comme si tu affichais une feuille excel sur un userform. tu as des lignes et des colones.
for j = 0
To 2
test(i, j) = dts.Tables(
"Equipe").Rows(i).Item(j + 1)
sheet.Range(
"A" & (i + 2)).Value = test(i, j)
Next
Next
je fais j+1 pour qu'il ne prenne pas en compte la colonne index de ma table
mon probléme c'est que je voudrais que dans la colonne A d'exel s'affiche "equipe" dans la colonne B d'exel "butMarquer" et dans la colonne C d'exel "date"?
je pense qu'une enumérartion devrait faire l'affaire mais pas encore essayer^^
Et j'ai un souci de date , a la place de m'afficher 14/11/2006 il m'affiche 05/02/1900
comment je peut resoudre ce probleme d'affichage?
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 29 juin 2006 à 16:13
Pour la date il faut redefinir le format de la cellule mais je ne me souviens pas de la syntaxe.
dans ta table equipe, butmarquer et date sont sur des colonnes différentes ou pas?
baltazar85
Messages postés40Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention30 juin 2006 29 juin 2006 à 16:26
ben en faite j'ai plus de problème de date depuis que j'ai éparpiller sur mes colonnes^^ je pense que le probléme venait que je mettais equipe+but+date ensemble il devait peut etre tout additionner^^
encore merci drikce06 pour ton aide qui m'a fort bien aider
baltazar85
Messages postés40Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention30 juin 2006 29 juin 2006 à 16:28
oui c'est vrai pourquoi ce prendre la tete^^ mais je pensais deja pour l'année prochaine pour mon exam si on me demande pourquoi j'ai pas utiliser autre chose mais bon pour moi le temps et trop court pour chercher mieux,donc jessaye deja que mon prog marche a la perfection^^