1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
Private Sub ConnectCLasseur(ConnectCL As Object, _
Fichier As String, _
Optional Rs)
Set ConnectCL = CreateObject("ADODB.Connection")
If Not IsMissing(Rs) Then
Set Rs = CreateObject("ADODB.Recordset")
End If
ConnectCL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;IMEX= 2;"""
End Sub
Sub Valeur()
Dim ConnectCL As Object
Dim Rs As Object
Dim Classeur As String
Dim NomFeuille As String
Dim Plage As String
Dim Valeur
Dim DerCel As Integer
Dim Dossier As String
'chemin du classeur cible
Classeur = "C:\Users\Moi\Desktop\1.xls"
Dossier = Left(Classeur, InStrRev(Classeur, "\"))
'nom de la feuille où se trouve la cellule
NomFeuille = "Feuil1"
'défini la ligne vide sous la dernière cellule non vide de la colonne A
DerCel = ExecuteExcel4Macro("COUNTA('" & Dossier & _
"[" & Dir(Classeur) & "]" & _
NomFeuille & "'!R1C1:R65536C1)") + 1
'cellule à mettre à jour
'doit être définie comme "Ax:Ax"
Plage = "A" & DerCel & ":A" & DerCel
'valeur à inscrire
Valeur = "Donnée test"
'mets le classeur à "Normal" (ôte la lecture seule)
SetAttr Classeur, 0
'connecxion
ConnectCLasseur ConnectCL, Classeur, Rs
With Rs
.CursorType = 1
.LockType = 3
.Open "SELECT * FROM `" & NomFeuille & "$" & _
Plage & "` ", ConnectCL
.Fields(0).Value = Valeur
.Update
End With
ConnectCL.Close
'remet le classeur à "Lecture seule"
SetAttr Classeur, 1
Set Rs = Nothing
Set ConnectCL = Nothing
End Sub |
Partager