Probleme exel urgent svp [Résolu]

baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention - 29 juin 2006 à 11:36 - Dernière réponse : baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

22 réponses

Meilleure réponse
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 29 juin 2006 à 14:30
3
Merci
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

Merci drikce06 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de drikce06
Meilleure réponse
baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention - 29 juin 2006 à 16:20
3
Merci
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 ^^

Merci baltazar85 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de baltazar85
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 29 juin 2006 à 11:52
0
Merci
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
Commenter la réponse de drikce06
baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention - 29 juin 2006 à 12:00
0
Merci
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?
Commenter la réponse de baltazar85
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 29 juin 2006 à 13:02
0
Merci
il faut ajouter excel en reference

 Drikce 06
Commenter la réponse de drikce06
baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention - 29 juin 2006 à 14:12
0
Merci
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?
Commenter la réponse de baltazar85
baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention - 29 juin 2006 à 14:54
0
Merci
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
Commenter la réponse de baltazar85
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 29 juin 2006 à 15:03
0
Merci
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
Commenter la réponse de drikce06
baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention - 29 juin 2006 à 15:08
0
Merci
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
Commenter la réponse de baltazar85
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 29 juin 2006 à 15:13
0
Merci
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
Commenter la réponse de drikce06
baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention - 29 juin 2006 à 15:23
0
Merci
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 ^^
Commenter la réponse de baltazar85
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 29 juin 2006 à 15:37
0
Merci
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
Commenter la réponse de drikce06
baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention - 29 juin 2006 à 15:57
0
Merci
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?
Commenter la réponse de baltazar85
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 29 juin 2006 à 16:13
0
Merci
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
Commenter la réponse de drikce06
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 29 juin 2006 à 16:23
0
Merci
Tant que ça marche pourquoi se prendre la tete

 Drikce 06
Commenter la réponse de drikce06
baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention - 29 juin 2006 à 16:26
0
Merci
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
Commenter la réponse de baltazar85
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 29 juin 2006 à 16:27
0
Merci
de rien

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

 Drikce 06
Commenter la réponse de drikce06
baltazar85 40 Messages postés mercredi 31 mai 2006Date d'inscription 30 juin 2006 Dernière intervention - 29 juin 2006 à 16:50
0
Merci
ca y est j'ai valider ta reponse j'attendais d'avoir ma solution complete^^
Commenter la réponse de baltazar85

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.