Exporter de VB6 ( Acces ) vers Excel

Résolu/Fermé
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 - 26 févr. 2019 à 15:52
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 - 26 févr. 2019 à 18:05
Bonjour

Je cherche à exporter les données de ma DGDeclarationCnss vers un tableau Excel nommé xlo, sans rien y écrire.
Et j'ai copié un code ( trouvé sur CoudeS sourceS) ayant relation avec mon idée, mais je n'ai pas le résultat escompte, vu que l'application me renvoie le tableau xlo vide avec un le message ecrit en fin de code.

Merci pour votre aide




Private Sub CdExporter_Click()

Dim I, j, k, l As Integer


On Error GoTo errxcel

Dim xlo As Object


Set xlo = CreateObject("Excel.Application")

DoEvents

xlo.Visible = True
xlo.Workbooks.Add

I = rsProv1.RecordCount
j = DGDeclarationCnss.Columns.Count

For k = 0 To j - 1

xlo.Workbooks(1).Sheets(1).Cells(l + 1, k + 1) = DGDeclarationCnss.Columns(k).Caption

Next k

I = 0
rsProv1.MoveFirst

Do While Not rsProv1.EOF

For k = 0 To j - 1

DGDeclarationCnss.Col = k
DGDeclarationCnss.Row = l
xlo.Workbooks(1).Sheets(1).Cells(l + 2, k + 1) = DGDeclarationCnss.Text

Next k

rsProv1.MoveNext
l = l + 1

Loop

Exit Sub

errxcel:
MsgBox "N'a pas trouvé d'Excel"




End Sub
            
                
A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
26 févr. 2019 à 16:10
Bonjour,

Chez moi le classeur Excel est bien cree. Chez vous il l'est ou pas??
Vu que peut importe l'erreur, vous aurez toujours "N'a pas trouvé d'Excel"
Question existentielle: vous avez Excel au moins……..???
0
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
26 févr. 2019 à 17:31
Re bonjour

J'ai crée un workBooks nommé DeclarationCnss.xlsx
0
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
26 févr. 2019 à 17:43
Rebonjour

J'ai eu un resultat soi disant positif mais incomplet. Comme j'ai seulement 2 lignes dans ma BD, qui s'affichent sur ma DataGrid, l'application me renvoie la feuille Excel avce la répétition de la Première ligne seulement.

voilà le Code

Private Sub CdExporter_Click()




Dim xlo As Object
Dim i, j, l, k As Integer

On Error GoTo errxcel:


Set xlo = CreateObject("Excel.application")

i = RS.RecordCount
RS.MoveFirst


DoEvents

xlo.Visible = True
xlo.Workbooks.Add

j = DGDeclarationCnss.Columns.Count

For k = 0 To j - 1

xlo.Workbooks(1).Sheets(1).Cells(l + 1, k + 1) = DGDeclarationCnss.Columns(k).Caption

Next k

i = 0
RS.MoveFirst

Do While Not RS.EOF

For k = 0 To k - 1

DGDeclarationCnss.Col = k

xlo.Workbooks(1).Sheets(1).Cells(l + 2, k + 1) = DGDeclarationCnss.Text

Next

RS.MoveNext

l = l + 1

Loop

Exit Sub

errxcel:


MsgBox "Aucune feuuille Excel n'est trouvée", vbCritical + vbInformation, "Info !"











End Sub
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
26 févr. 2019 à 17:48
Re,

kezako:
For k = 0 To k - 1
0
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
26 févr. 2019 à 18:05
Re bonjour

Comme j'avais le problème avec les lignes, j'ai ajouté :


DGDeclarationCnss.Row = i


et ça marche pour le moment pour 2 lignes. Pour plus je ne peux le conformer qu'après l'avoir testé
Concernant la feuille d'Excel, je n'ai pas besoin de la créer à priori, car il est crée spontanément.


Merci pour votre attention



Private Sub CdExporter_Click()




Dim xlo As Object
Dim i, j, l, k As Integer


On Error GoTo errxcel:



Set xlo = CreateObject("Excel.application")

i = RS.RecordCount
RS.MoveFirst


DoEvents

xlo.Visible = True
xlo.Workbooks.Add

j = DGDeclarationCnss.Columns.Count

For k = 0 To j - 1

xlo.Workbooks(1).Sheets(1).Cells(l + 1, k + 1) = DGDeclarationCnss.Columns(k).Caption

Next k

i = 0
RS.MoveFirst

Do While Not RS.EOF

For k = 0 To k - 1

DGDeclarationCnss.Col = k
DGDeclarationCnss.Row = i

xlo.Workbooks(1).Sheets(1).Cells(i + 2, k + 1) = DGDeclarationCnss.Text

Next

RS.MoveNext

i = i + 1

Loop

Exit Sub

errxcel:


MsgBox "Aucune feuuille Excel n'est trouvée", vbCritical + vbInformation, "Info !"











End Sub
0