____URGENT___ Pb d'insertion de" données sur excel !

ndsaerith Messages postés 304 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 - 19 janv. 2004 à 13:04
ndsaerith Messages postés 304 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 - 19 janv. 2004 à 14:51
Coucou ! :-)

G un problème qui parait pas comme ça mais il est gros car il m'empeche d'avancer mon appli...
En fait c tout simple, je veux remplir les cellules d'une feuille excel (qui existe) avec des enregistrements d'une base de donnée. Chaque jeu d'enregistrement se compose de trois parties : le matricule, le nom et le prénom. Voila le code que g fait (et qui ne marche po :-) ) :

Set xlapp = New Excel.Application
xlapp.Workbooks.Open monfichier
Do While Not rq_emp.EOF
i = init_i
xlapp.Cells.FormulaR1C1 = rq_emp!matricule
i = i + 1
xlapp.Cells.FormulaR1C1 = rq_emp!nom
i = i + 1
xlapp.Cells.FormulaR1C1 = rq_emp!prenom
j = j + 1
rq_emp.MoveNext
Loop
xlapp.Visible = True

G ensuite changé le formulaR1C1 par value mais ça marche pas non plus...

Merci bcp ;-)

3 réponses

cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
19 janv. 2004 à 13:29
labout
La solution est
j = 2
nb = 0
With xlapp.application
For i = 0 To rs.Fields.Count - 1
.cells(1, i + 1) = rs.Fields(i).Name
Next
Do While Not rs.EOF
' ou i est la colonne
' j est la ligne on commence ligne 2 Lignbe 1 est titre
For i = 0 To rs.Fields.Count - 1
.cells(j, i + 1) = rs.Fields(i).Value
Next
j = j + 1
rs.MoveNext
Loop
end with
0
ndsaerith Messages postés 304 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 2
19 janv. 2004 à 13:52
Merci beaucoup ça marche très bien :-)
Je voulais juste te demander si on peut mettre for i =2 à la place de for i=o dans :

For i = 0 To rs.Fields.Count - 1
.cells(j, i + 1) = rs.Fields(i).Value
Next

Et comment je peux limiter l'affichage, car il m'inscrit tous les champs, il y en a un en trop, car dans la table employé, il y a aussi l'entité dont il dépend. En bref, cer je sais je suis pas claire, comment je peux faire pour que le dernier champ de la table employé ne s'affiche pas?

Merci.
0
ndsaerith Messages postés 304 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 2
19 janv. 2004 à 14:51
C bon g trouvé !
G changer .field.count -2 au lieu de -1 et ça m'a tout arrangé!
Je vous remrcie beaucoup.
Anne.
0
Rejoignez-nous