Bonjour,
Me revoilà pour un petit soucis.
Voilà j'utilise la méthode décrite sur ce site pour écrire dans un classeur fermé.
J'ai créé un classeur nommé user.xls qui se situe à c:\user.xls
Il n'a qu'une seule feuille et initialement il n'a que le mot users inscrit en A1.
Je lance la procédure d'écriture comme suis :
Le nom est bien écrit dans le fichier tout va bien, j'ai donc bien mis ma base de données d'utilisateur à jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Sub new_user(us As String) Dim Cn As ADODB.Connection Dim Fichier As String, Feuille As String, strSQL As String Fichier = "C:\User.xls" Feuille = "users" Users = us Set Cn = New ADODB.Connection With Cn .Provider = "MSDASQL" .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _ "DBQ=" & Fichier & "; ReadOnly=False;" .Open End With strSQL = "INSERT INTO [" & Feuille & "$] " _ & "VALUES ('" & Users & "' )" Cn.Execute strSQL Cn.Close Set Cn = Nothing End Sub
Cependant si je retourne dans le fichier originel manuellement et que je supprime le nom rajouter en A2 en appuyant sur suppr
La prochaine fois que ma routine new_user se lance elle écrit en A3 et non en A2.
Comment faire pour que cela n'arrive pas ? ne jamais toucher le fichier d'user ? ou alors formater les cellules d'une certaines façon ?
Merci d'avance de votre aide
Partager