Ecrire dans un fichier excel fermé

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

samexport

XLDnaute Nouveau
Bonjour,
Je souhaite ecrire dans un fichier excel 'DepartCourrrier.slx', le numero de chrono que je fixe dans ma page en cours.

J'ai vu sur ce site une fonction qui permet d'ecrire dans une cellule une valeur donnée par ma cellule I84.


Sub exportDonneeDansCelluleClasseurFerme()

Dim Cn As ADODB.Connection
Dim Cd As ADODB.Command
Dim Rst As ADODB.Recordset
Dim Fichier As String

Fichier = "C:\DepartCourrrier.xls"


Set Cn = New ADODB.Connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;"";"

Set Cd = New ADODB.Command
Cd.ActiveConnection = Cn
Cd.CommandText = "SELECT * FROM [Feuil1$G30:G30]"

Set Rst = New ADODB.Recordset
Rst.Open Cd, , adOpenKeyset, adLockOptimistic
Rst(0).Value = Range("I84")

Rst.Update

Cn.Close
Set Cn = Nothing
Set Cd = Nothing
Set Rst = Nothing
End Sub


Ici, ca fonctionne pour la cellule G30 dans le fichier fermé.

J'aurais aimé pouvoir ecrire dans la premiere colonne du fichier à la premiere ligne vide, pour ecrire ce numero de chrono dans une colonne à la suite.
Merci d'avance pour vos conseils.
 
Re : Ecrire dans un fichier excel fermé

Salut samexport
Si MichelXLD passe par là il fera des merveilles...

moi je te propose ceci:
dans ton classeur DepartCourrier.xls et Feuil1 faire un en tête cellule A1
EX: Chrono
formater la colonne 'A' en hh:mm:ss

Sub Macro1()
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Fichier As String, Cible As String, Feuille As String

Fichier = "C:\DepartCourrier.xls" ' définir le chemin du classeur
Feuille = "Feuil1$" ' la feuille dans la quelle on va écrire
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) = Format(CDate(Sheets("Feuil1").Range("I84")), "hh:mm:ss") 'ICI renvoit I84 au format CDate
.Update
End With
Rs.Close
Cn.Close
End Sub
 
Re : Ecrire dans un fichier excel fermé

Merci j'ai teste ton code, mais j'ai pas mal d'erreur. J'ai du rajouté ADODB dans Set Rs = New ADODB.Recorsed.
Mais j'ai tjours une erreur d'excution 9 m'indiquant indice n'appartenant pas la section.

De meme, pourquoi choisir un format hh:mm:ss
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
4 K
Retour