P
pierre
Guest
bonsoir à tous
je cherche à modifier cette macro trouvé sur cet excelent forum.
En 1er ne pas utiliser d'USF.
Renvoyer dans le classeur fermé les données de la feuille 'résultat' pour les cellules A4, K1, E4, G20, M20
Que ces données s'incrémentent sur une ligne de la 'feuille1' classeur fermé les une aprés les autres.
Private Sub CommandButton1_Click()
'necessite d'activer la reference Microsoft ActiveX Data Objects x.x Library
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Fichier As String, Cible As String, Feuille As String
Dim i As Byte
Fichier = ThisWorkbook.Path & '\\fichierFerme.xls'
Feuille = 'journal$' 'attention a ne pas oublier le '$'
Set Cn = New ADODB.Connection
Cn.Open 'Provider = Microsoft.Jet.OLEDB.4.0;' & _
'data source=' & Fichier & ';' & _
'extended properties=''Excel 8.0;'''
Cible = 'SELECT * FROM [' & Feuille & '];'
Set Rs = New Recordset
Rs.Open Cible, Cn, adOpenKeyset, adLockOptimistic
With Rs
.AddNew
.Fields(0) = TextBox1 'date
.Fields(1) = TextBox2 'nom
.Fields(2) = TextBox3 'prenom
.Fields(3) = TextBox4 'valeur
.Fields(4) = TextBox5 'commentaire
.Update
End With
Rs.Close
Cn.Close
For i = 1 To 5
Me.Controls('TextBox' & i) = ''
Next i
End Sub
Merci pour votre aide
je cherche à modifier cette macro trouvé sur cet excelent forum.
En 1er ne pas utiliser d'USF.
Renvoyer dans le classeur fermé les données de la feuille 'résultat' pour les cellules A4, K1, E4, G20, M20
Que ces données s'incrémentent sur une ligne de la 'feuille1' classeur fermé les une aprés les autres.
Private Sub CommandButton1_Click()
'necessite d'activer la reference Microsoft ActiveX Data Objects x.x Library
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Fichier As String, Cible As String, Feuille As String
Dim i As Byte
Fichier = ThisWorkbook.Path & '\\fichierFerme.xls'
Feuille = 'journal$' 'attention a ne pas oublier le '$'
Set Cn = New ADODB.Connection
Cn.Open 'Provider = Microsoft.Jet.OLEDB.4.0;' & _
'data source=' & Fichier & ';' & _
'extended properties=''Excel 8.0;'''
Cible = 'SELECT * FROM [' & Feuille & '];'
Set Rs = New Recordset
Rs.Open Cible, Cn, adOpenKeyset, adLockOptimistic
With Rs
.AddNew
.Fields(0) = TextBox1 'date
.Fields(1) = TextBox2 'nom
.Fields(2) = TextBox3 'prenom
.Fields(3) = TextBox4 'valeur
.Fields(4) = TextBox5 'commentaire
.Update
End With
Rs.Close
Cn.Close
For i = 1 To 5
Me.Controls('TextBox' & i) = ''
Next i
End Sub
Merci pour votre aide