Bonjour,
J'ai essayé d'imprimer un datagrid en VB6, mais ça fonctionnait toujours mal....
Donc, je me suis dis que c'était un table qui alimentait mon datagrid, pourquoi ne pas exporter le contenu de ma table dans un fichier excel et par la suite l'imprimer.
Si tu veux voir toutes mes réflexions:
http://www.developpez.net/forums/showthread.php?t=508451
ma solution :
PrivateSub cmdImprimer_Click()
Dim cnx AsNew ADODB.Connection
Dim rs AsNew ADODB.Recordset
cnx.ConnectionString = "Provider=SQLOLEDB;Data Source=TEST;Initial Catalog=CaisseDCN;User ID=tssss;Password=bonjour;"
cnx.Open
rs.Open"SELECT * FROM Depannage", cnx, adOpenStatic, adLockOptimistic ' tablelst-this is yr table name
tmp_val = ""
IfNot rs.EOFThen
rs.MoveLast
rcount = rs.RecordCount
rs.MoveFirst
Close
Open App.Path & "" & tablelst & "Impression.xls"For Output As #1
For i = 0To rs.Fields.Count - 1
If i < rs.Fields.Count - 1Then
tmp_val = tmp_val & rs.Fields(i).Name & vbTab
ElseIf i = rs.Fields.Count - 1Then
tmp_val = tmp_val & rs.Fields(i).Name
EndIf
Next i
tmp_val = tmp_val & vbCrLf
WhileNot rs.EOF
For i = 0To rs.Fields.Count - 1
tmp_val = tmp_val & rs.Fields(rs.Fields(i).Name) & vbTab
Next i
tmp_val = Mid(tmp_val, 1, Len(tmp_val) - 1)
tmp_val = tmp_val & vbCrLf
rs.MoveNext
DoEvents
Label1.Caption = rs.AbsolutePosition & "/" & rcount
Wend
Print #1, tmp_val
EndIf
MsgBox "Processus terminé"
EndSub
Kat40