Doro81079
Messages postés380Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention24 février 2015
-
25 août 2005 à 20:48
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 2010
-
26 août 2005 à 18:35
Bonjour,
j'ai un problème avec une boucle dans access pour remplir un classeur excel si quelqu'un pouvait m'éclairer ce serait cool svp
Donc voilà
Je sélectionne des données dans une table et je les transfères dans un classeur
jusque là ça va
le problème c'est que les données n'apparaissent pas comme je le voudrais
classeur actuel
taches 02 04 06 07 15 16 50
moteurs -1
moteurs -1
Charbons -1
Charbons -1
et en fait je voudrais que ça ressemble à ça
taches 02 04 06 07 15 16 50
moteurs 1 1
charbons 1 1
Je sais que le problème vient de la boucle mais je ne sais pas exactement ce qu'il faut que j'emplois comme boucle
voici la fonction
Sub InitialiseExcel()
Dim xlApp, xlBook, xlRange As Variant 'Objets classeur
Dim xlWks, iRows, iCols, iRotate As Variant 'Objets feuille
Dim FichierXL As String
Dim Boucle, Cmpt As Integer
FichierXL = "C:\WINDOWS\Bureau\Preventif_maintenance\PréventifMill1bis2.xls"
'Création de l'objet Excel (main mise sur !)
Set xlApp = CreateObject("Excel.Application")
'Création de l'objet [Fichier Excel]
Set xlBook = xlApp.Workbooks.Open(FichierXL)
'Création de l'objet [Feuille] du classeur Excel.
xlApp.ActiveWorkbook.Worksheets.Add
Set xlWks = xlBook.ActiveSheet
'Création de la plage permise dans la feuille Excel.
Set xlRange = xlWks.Range("A1:A65535")
DoCmd.GoToRecord , , acLast
Cmpt = Forms![Générer_tableauExcel_Mill1].Recordset.RecordCount
DoCmd.GoToRecord , , acFirst
For Boucle = 1 To Cmpt
xlRange.Cells((Boucle + 1), 1).Value = Forms![Générer_tableauExcel_Mill1].[Tache]
DoCmd.GoToRecord , , acNext
Next Boucle
DoCmd.GoToRecord , , acFirst
For Boucle = 1 To Cmpt
xlRange.Cells(1, (Boucle + 1)).Value = Forms![Générer_tableauExcel_Mill1].[Semaine]
DoCmd.GoToRecord , , acNext
Next Boucle
DoCmd.GoToRecord , , acFirst
For Boucle = 1 To Cmpt
xlRange.Cells((Boucle + 1), (Boucle + 1)).Value = Forms![Générer_tableauExcel_Mill1].[Travail_Effectuer]
DoCmd.GoToRecord , , acNext
Next Boucle
DoCmd.GoToRecord , , acFirst
'Fermeture de Excel
'Rend Excel visible
xlApp.Visible = True
'Active le classeur
xlWks.Activate
'Positionnement en [ A1 ]
xlRange.Cells(1, 1).Select
'Message d'erreur en arrêt
xlApp.DisplayAlerts = False
'Sauvegarde du fichier Excel créé.
xlBook.SaveAs FichierXL
'Ferme l'application Excel
'xlApp.Quit
'Message d'erreur actif
xlApp.DisplayAlerts = True
Set xlRange = Nothing
Set xlWks = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
MsgBox "Tableau créé"
End Sub
Voila si quelqu'un pouvait m'aider je le remercie d'avance
salut
doro
iF previous <> xlRange.Cells((Boucle + 1), 1).Value Then previous = xlRange.Cells((Boucle + 1),1).Value
DoCmd.GoToRecord , , acNext
Next Boucle
ça serait sympas de préciser qui est tache, semaine, travail ... voir comment sont les données sources..
++
Zlub
<hr size="2" width="100%">Click
sur le bouton ci-dessous, si la réponse te convient : pour indiquer aux
visiteurs où est(sont) la(es) réponse(s) à ta question.
Utilisateurs du Forum, merçi de lire [forum.v2.aspx?ID=445871 #445871]
Doro81079
Messages postés380Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention24 février 201556 26 août 2005 à 17:06
Salut Zlub,
De retour?!
Merci pour ta réponse mais le problème est résolu
Je te mets réponse acceptée car effectivement c'est plus simple comme ça
Mais moi et excel (surtout vba) ça fait 2
Encore merci
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 20108 26 août 2005 à 18:35
Salut Doro,
ok.
Vi je suis de retour apres un peu de vacances ;)
Que j'ai un peu prolongé ... mais bon ça fait du bien...
++
Zlub
<hr size="2" width="100%">Click
sur le bouton ci-dessous, si la réponse te convient : pour indiquer aux
visiteurs où est(sont) la(es) réponse(s) à ta question.
Utilisateurs du Forum, merçi de lire [forum.v2.aspx?ID=445871 #445871]