Ecrire dans fichier fermé avec respect du format
Bonjour le forum :)
J'ai un code qui me permet de se connecter et d'écrir dans un fichier Excel fermé, la lecture/écriture fonctionne à un "petit" détail. Toutes les valeurs sont ajoutées dans la base au format Texte (c'est même plus complexe, après un enregistrement, toutes les valeurs contenues dans la BDD sont précédées d'un " ' "). Ma question est simple, comme écrire dans la BDD en respectant le format ?
Par avance, merci de l'interet et de laide apportée au sujet !
Private Sub EcrirBDD(BDDurl As String, FeuilleBDD As String, LigneBDD As Long, ColonneBDD As Long, TexteAjout As Variant)
Dim Cn As ADODB.Connection
Dim Cd As ADODB.Command
Dim Rst As ADODB.Recordset
Dim Fichier As String
Dim NomFeuille As String
Dim Cellule As String
'BDDurl : chemin où se trouve la BDD
'FeuilleBDD : nom de ma feuille contenant la BDD dans le fichier BDDurl
'LigneBDD : ligne sur laquelle il va falloir écrire dans la BDD
'ColonneBDD : colonne sur laquelle il va falloir écrire
'TexteAjout : valeur à écrire dans la cellule au croisement de LigneBDD et Colonne BDD
Cellule = Replace(Cells(LigneBDD, ColonneBDD).Address, "$", "") 'Conversion ligne/colonne au format cellule classique
Fichier = BDDurl
NomFeuille = FeuilleBDD
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 [" & NomFeuille & "$" & Cellule & ":" & Cellule & "]"
Set Rst = New ADODB.Recordset
Rst.Open Cd, , adOpenKeyset, adLockOptimistic
Rst(0).Value = TexteAjout 'Rst(0).Value est toujours au format texte même si TexteAjout est un nombre
Rst.Update
Cn.Close
End Sub