Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Msflexgrid / Listview vers Excel 2002 en vb6

2 réponses
Avatar
Jonathan
Avec VB6 comment faire pour prendre les données d'une msflexgrid et d'un
Listview et de les coller dans les cellules d'une nouvelle fenetre d'Excel
sans passer par un fichier.
C'est possible ?

@+

Jonathan

2 réponses

Avatar
Guy DETIENNE
Salut ;O)

Je peux déjà t'aider pour le Listview, mais pour le FlexGrid....

Utilisation de la procédure ci-dessous:

Call Export_Excel(Me.listview1.Object, MyLv.ListItems.Count,
MyLv.ColumnHeaders.Count)


Public Sub Export_Excel(My_Listview As ListView, Nbr_Lignes As Integer,
Nbr_Colonnes As Integer)

On Error GoTo errorHandler

Dim oExcel As Object
Dim Ligne As String
Dim LigneExcel As Integer
Dim ColExcel As Integer
Dim compt As Integer
Dim comptcol As Integer

Set oExcel = CreateObject("Excel.Application")

'Créer un nouveau classeur EXCEL initialisé à la ligne 1
oExcel.Workbooks.Add.Activate
DoEvents
LigneExcel = 1: ColExcel = 1

' Affecter les données de la listbox dans les cellules de la feuille
With oExcel.ActiveWorkbook.Worksheets("Feuil1")

'Insere le nom des entetes de colonnes
For comptcol = 0 To Nbr_Colonnes - 1
.Cells(LigneExcel, ColExcel) My_Listview.ColumnHeaders(comptcol + 1)
ColExcel = ColExcel + 1
Next comptcol

ColExcel = 1
LigneExcel = LigneExcel + 1

'Inscrire le contenu d'une listview dans la feuille 1 d'un classeur
EXCEL
For compt = 0 To My_Listview.ListItems.Count - 1

'On boucle sur les colonnes
For comptcol = 0 To Nbr_Colonnes - 1
If comptcol = 0 Then
.Cells(LigneExcel, ColExcel) My_Listview.ListItems.Item(LigneExcel - 1)
Else
.Cells(LigneExcel, ColExcel) My_Listview.ListItems.Item(LigneExcel - 1).ListSubItems(comptcol)
End If
ColExcel = ColExcel + 1

Next comptcol

ColExcel = 1
LigneExcel = LigneExcel + 1
Next compt

End With

'Pour mettre l'entête des colonnes en gras
oExcel.ActiveWorkbook.Worksheets("Feuil1").Range("A1:" & Chr(65 +
Nbr_Colonnes - 1) & "1").Font.Bold = True
'Pour ajuster les colonnes
oExcel.ActiveWorkbook.Worksheets("Feuil1").Range("A:" & Chr(65 +
Nbr_Colonnes - 1)).Columns.AutoFit
oExcel.Visible = True

Set oExcel = Nothing

Exit Sub

errorHandler:
If Err.Number = 429 Then
MsgBox "Une erreur est survenue lors de la tentative d'ouverture
d'Excel." _
& vbCrLf & vbCrLf & "Microsoft Excel n'est peut-être pas installé
sur votre machine.", vbCritical
Else
Resume Next
End If

End Sub


--
__________________________________
Tchao.net: L'informatique à votre dimension
www.tchao.net
Pour toute réponse, retirer le .nospam de l'adresse mail
ou cliquez ici http://cerbermail.com/?6nQ9U2fpkD

"Jonathan" a écrit dans le message de
news:3fc4b159$0$28639$
Avec VB6 comment faire pour prendre les données d'une msflexgrid et d'un
Listview et de les coller dans les cellules d'une nouvelle fenetre d'Excel
sans passer par un fichier.
C'est possible ?

@+

Jonathan




Avatar
Jonathan
Merci beacoup

Jonathan