conboukak
Messages postés2Date d'inscriptionlundi 15 décembre 2003StatutMembreDernière intervention 8 août 2004
-
8 août 2004 à 11:44
codea
Messages postés94Date d'inscriptiondimanche 9 mai 2004StatutMembreDernière intervention 6 août 2006
-
10 août 2004 à 00:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
codea
Messages postés94Date d'inscriptiondimanche 9 mai 2004StatutMembreDernière intervention 6 août 2006 10 août 2004 à 00:57
C'est une fonction pour exporter dans excel que j'ai fait une fois... remarque le shell... et les liens (linktopic, linkmode, linkpoke).... le code n'est pas optimisé du tout
espérant que cela t'aide ... du moins t'inspire !!
Private Sub mnuExportExcel_Click()
Dim Prenom, Nom, Telephone, Cellulaire, Padget, Adresse, Email, Commentaires As String
Dim Colonne, Rangee As String
Dim Row As Integer
Dim ReturnVal
Row = 2
adoCarnet.Recordset.MoveFirst
If (txtPrenom.LinkMode vbnone And txtNom.LinkMode vbnone) Then
txtCommentaire.LinkTopic = "Excel|Book1"
txtCommentaire.LinkItem = "R1C6"
txtCommentaire.LinkMode = vbLinkManual
End If
End If
Do While Not adoCarnet.Recordset.EOF
Row = Row + 1 ' Définit le numéro de ligne.
txtPrenom.LinkItem = "R" & Row & "C1" ' Défint l'élément de liaison.
txtPrenom.LinkPoke ' Force le transfert de la valeur dans la cellule.
txtNom.LinkItem = "R" & Row & "C2" ' Définit l'élément de liaison.
txtNom.LinkPoke ' Force le transfert de la valeur dans la cellule.
txtTelephone.LinkItem = "R" & Row & "C3" ' Définit l'élément de liaison.
txtTelephone.LinkPoke ' Force le transfert de la valeur dans la cellule.
txtPadget.LinkItem = "R" & Row & "C4" ' Définit l'élément de liaison.
txtPadget.LinkPoke ' Force le transfert de la valeur dans la cellule.
txtCellulaire.LinkItem = "R" & Row & "C5" ' Définit l'élément de liaison.
txtCellulaire.LinkPoke ' Force le transfert de la valeur dans la cellule.
txtCommentaire.LinkItem = "R" & Row & "C6" ' Définit l'élément de liaison.
txtCommentaire.LinkPoke ' Force le transfert de la valeur dans la cellule.
adoCarnet.Recordset.MoveNext
Loop
End Sub
conboukak
Messages postés2Date d'inscriptionlundi 15 décembre 2003StatutMembreDernière intervention 8 août 2004 8 août 2004 à 11:44
Pour imprimer je n'ai pas d'idée par contre pour exporter vers excel tu peux reprendre ta chaine sql
et ecrire un truc du genre :
Dim cnSrc As New ADODB.Connection
Dim monsql As String
Dim moncritere as String
Screen.MousePointer = vbHourglass
DoEvents
cnSrc.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=(ma base de données access.mdb);Persist Security Info=False"
'select * from matable into [Excel 8.0; Database=test.xls]
10 août 2004 à 00:57
espérant que cela t'aide ... du moins t'inspire !!
Private Sub mnuExportExcel_Click()
Dim Prenom, Nom, Telephone, Cellulaire, Padget, Adresse, Email, Commentaires As String
Dim Colonne, Rangee As String
Dim Row As Integer
Dim ReturnVal
Row = 2
adoCarnet.Recordset.MoveFirst
If (txtPrenom.LinkMode vbnone And txtNom.LinkMode vbnone) Then
'execution d'excel
ReturnVal = Shell("D:\Program Files\Microsoft Office\Office11\Excel.exe", 3)
If ReturnVal Then
txtPrenom.LinkTopic = "Excel|Book1" ' Définit la rubrique de liaison.
txtPrenom.LinkItem = "R1C1" ' Définit l'élément de liaison.
txtPrenom.LinkMode = vbLinkManual ' Définit le mode de liaison.
txtNom.LinkTopic = "Excel|Book1" ' Définit la rubrique de liaison.
txtNom.LinkItem = "R1C2" ' Définit l'élément de liaison.
txtNom.LinkMode = vbLinkManual ' Définit le mode de liaison.
txtTelephone.LinkTopic = "Excel|Book1"
txtTelephone.LinkItem = "R1C3"
txtTelephone.LinkMode = vbLinkManual
txtPadget.LinkTopic = "Excel|Book1"
txtPadget.LinkItem = "R1C4"
txtPadget.LinkMode = vbLinkManual
txtCellulaire.LinkTopic = "Excel|Book1"
txtCellulaire.LinkItem = "R1C5"
txtCellulaire.LinkMode = vbLinkManual
txtCommentaire.LinkTopic = "Excel|Book1"
txtCommentaire.LinkItem = "R1C6"
txtCommentaire.LinkMode = vbLinkManual
End If
End If
Do While Not adoCarnet.Recordset.EOF
Row = Row + 1 ' Définit le numéro de ligne.
txtPrenom.LinkItem = "R" & Row & "C1" ' Défint l'élément de liaison.
txtPrenom.LinkPoke ' Force le transfert de la valeur dans la cellule.
txtNom.LinkItem = "R" & Row & "C2" ' Définit l'élément de liaison.
txtNom.LinkPoke ' Force le transfert de la valeur dans la cellule.
txtTelephone.LinkItem = "R" & Row & "C3" ' Définit l'élément de liaison.
txtTelephone.LinkPoke ' Force le transfert de la valeur dans la cellule.
txtPadget.LinkItem = "R" & Row & "C4" ' Définit l'élément de liaison.
txtPadget.LinkPoke ' Force le transfert de la valeur dans la cellule.
txtCellulaire.LinkItem = "R" & Row & "C5" ' Définit l'élément de liaison.
txtCellulaire.LinkPoke ' Force le transfert de la valeur dans la cellule.
txtCommentaire.LinkItem = "R" & Row & "C6" ' Définit l'élément de liaison.
txtCommentaire.LinkPoke ' Force le transfert de la valeur dans la cellule.
adoCarnet.Recordset.MoveNext
Loop
End Sub
8 août 2004 à 11:44
et ecrire un truc du genre :
Dim cnSrc As New ADODB.Connection
Dim monsql As String
Dim moncritere as String
Screen.MousePointer = vbHourglass
DoEvents
cnSrc.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=(ma base de données access.mdb);Persist Security Info=False"
'select * from matable into [Excel 8.0; Database=test.xls]
cnSrc.Execute Monsqll & "INTO [Excel 8.0;" & _
"Database="Nom du fichier excel "]" & Mon critere, num_copied
cnSrc.Close
Screen.MousePointer = vbDefault
MsgBox "Copiés " & num_copied & " lignes."