Salut,
Sous VB6 et dans une routine qui me permet d' envoyer des
données vers un classeur Excel, j' ai ceci:
Sub ENVOYER()
'OUVRIR LA TABLE
Dim rs As Recordset
Set rs = pDB.OpenRecordset("INSCRIPTIONS", dbOpenDynaset)
'- Ouvrir un fichier Excel
'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open(App.Path & "\NXLS.xls")
rs.MoveFirst
Dim i As Integer, y As Integer, xPage As Integer
y = 0
xPage = 1
'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.Worksheets(xPage)
With wsExcel
.Activate
Do While Not rs.EOF
'LIRE L' ENREGISTREMENT
'ET
'ECRIRE DANS EXCEL
y = y + 1
'pour avoir 12 lignes par page
If y = 12 Then
If xPage = wbExcel.Worksheets.Count Then
'AJOUTER UNE FEUILLE
wbExcel.Worksheets.Add , , xPage, 1
End If
xPage = xPage + 1
'ACTIVER LA DERNIERE PAGE
Set wsExcel = wbExcel.Worksheets(xPage)
.Activate
y = 1
End If
.Cells(y, 1) = rs!Nom
.Cells(y, 2) = rs!Prenom
.Cells(y, 3) = rs!Ne_le
.Cells(y, 3) = rs!ArNom
wsExcel.Cells(y, 3) = rs!ArPrenom
'IMPRIMER
'.PrintOut
'SUIVANT
rs.MoveNext
Loop
MsgBox "TERMINE"
'AFFICHER EXCEL
wbExcel.Windows.Application.Visible = True
'FERMER EXCEL
' .Close False
End With
'
'...DETRUIRE LES OBJETS
Set appExcel = Nothing
Set wbExcel = Nothing
Set wsExcel = Nothing
MsgBox " Objet fermé"
End Sub
Je sais qu' au niveau code, c' est un peu juste,
mais c' est tout ce que j' ai pu faire :-).
Et à vrai dire le problème se situe ailleurs.
En effet, lorsque j' ajoute une nouvelle feuille,
celle ci se retrouve à gauche de celle qui était la dernière.
Quelqu' un peut-il m' aider à faire en sorte que la
dernière ajoutée soit toujours à droite.
Merci.
NB: Vous m' excuserez si j' ai mal choisi le thème.
... Y'en a même qui disent qu'ils l'ont vu voler.