Probleme exel urgent svp

Résolu
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 juin 2006 - 29 juin 2006 à 11:36
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 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.

22 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
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

 Drikce 06
3
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 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 ^^
3
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
29 juin 2006 à 11:52
Salut
Dim xlsapp1
As Microsoft.Office.Interop.Excel.Application

Dim book
As Microsoft.Office.Interop.Excel.Workbook

Dim sheet
As Microsoft.Office.Interop.Excel.Worksheet
xlsapp1 New Microsoft.Office.Interop.Excel.Applicationxlsapp1.Visible

True
book xlsapp1.Workbooks.Open("nomclasseur")sheet xlsapp1.Worksheets("nomfeuille")

 Drikce 06
0
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 juin 2006
29 juin 2006 à 12:00
a oui j'ai oublier je suis sur vb.net

et le code je l'ai essayer  mais il me souligne tous les
Microsoft.Office.Interop

que faut -il importer?
et comment j'envoi les donnée de ma base sur la feuille stp?
0

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

Posez votre question
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
29 juin 2006 à 13:02
il faut ajouter excel en reference

 Drikce 06
0
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 juin 2006
29 juin 2006 à 14:12
ben j'ai ajouter la reference microsoft exel object library11

mais ca me marque que c'est pas défini et je la rentre ou base de donnée ?
pourait tu m'expliquer un peu le code stp?
0
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 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
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
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

 Drikce 06
0
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 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
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
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.

 Drikce 06
0
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 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 ^^
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
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.

la boucle ca pourai donnée un truc dans le genre

For i = 1 to "nombre de ligne du datagrid"

Sheet.Range("A" & i ).value = ligne i du datagrid

Next

Drikce06
0
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 juin 2006
29 juin 2006 à 15:57
bon alors j'ai trouver la boucle mais j'ai un petit souci peut etre que tu pourra m'aider^^

tout d'abord ma table est composer de plusieurs colonne.
ex de ma table "Equipe" :

equipe         butMarquer         Date1
monaco       2                         14/11/2006    
auxerre        3                         14/11/2006     
lyon             4                         14/11/2006     
metz            1                         14/11/2006      

Voici un exemple de ma table.
ma boucle :
Dim

test(ligne, 3)
As
String
For i = 0
To ligne - 1

   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?
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
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?




 Drikce 06
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
29 juin 2006 à 16:23
Tant que ça marche pourquoi se prendre la tete

 Drikce 06
0
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 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
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
29 juin 2006 à 16:27
de rien

 Drikce 06
0
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 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^^
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
29 juin 2006 à 16:31
oublie pas de valider ma réponse pour excel!

 Drikce 06
0
baltazar85 Messages postés 40 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 30 juin 2006
29 juin 2006 à 16:50
ca y est j'ai valider ta reponse j'attendais d'avoir ma solution complete^^
0
Rejoignez-nous