VBA avec password, comment faire pour écrire?

Résolu/Fermé
themax84 Messages postés 48 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 14 octobre 2010 - 12 févr. 2007 à 15:47
themax84 Messages postés 48 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 14 octobre 2010 - 13 févr. 2007 à 09:36
Bonjour, j'ai créé un tableau ss Excel pour saisir des infos et un bouton pour automatiser les enregsitrements dans une base access.
Jusque la tout fonctionne
Par contre maintenant,j'ai mis un mot de passe sur ma base.
Donc quand je clique sur mon bouton excel, il me dis que le mot de passe n'est pas bon. (fenetre erreur de vba me renvoyant a mon code excel).
je ne sais pas ou placer mon password dans mon code.
Voila mon code.Merci de votre aide.

Private Sub copie_Click()
Dim Plage As Range
Dim Array1 As Variant
Dim x As Variant
Dim Db1 As Database
Dim Rs1 As Recordset
' Ouverture de la base de données bd1.mdb

Set Db1 = DBEngine.OpenDatabase(ThisWorkbook.Path & "bd1.mdb")

' Ouverture de la table Client
Set Rs1 = Db1.OpenRecordset("Client", dbOpenDynaset)

' Détermination de la taille de la plage à envoyer vers Access
Set Plage = Worksheets("Feuil1").Range("A1").CurrentRegion.Offset(1, 0)
Set Plage = Plage.Resize(Plage.Rows.Count - 1, Plage.Columns.Count)
Plage.Select

' Lecture de la plage pour renvoyer une valeur contenant un tableau
Array1 = Plage.Value

' Ecriture des données depuis Excel vers les enregistrement de la table Factures
For x = 1 To UBound(Array1, 1)

With Rs1
.AddNew

.Fields("Code") = Array1(x, 1)
.Fields("Nom") = Array1(x, 2)
.Fields("Adresse1") = Array1(x, 3)
.Fields("Postal") = Array1(x, 4)
.Fields("Adresse2") = Array1(x, 5)
'.Fields("Activité") = Array1(x, 6)
'.Fields("Dat") = Array1(x, 7)

.Update
End With
Next
' Fermeture de la base bd1.mdb
Db1.Close
A voir également:

6 réponses

themax84 Messages postés 48 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 14 octobre 2010 19
12 févr. 2007 à 16:32
personne ne connait la réponse?
0
alezan1 Messages postés 10 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 12 février 2007 3
12 févr. 2007 à 16:40
Je me demande sis tu ne dois pas créer un Datasource de type MDB dans lequel tu mets le user et mot de passe puis .

Function user()
Dim Con as ADODB.Connection
Dim Rst as ADODB.Recorset
Set Con = CreateObject("ADODB.Connection")
Set Rst = CreateObject("ADODB.Recordset")
Con.Open "DSN=<DSNNAME>"
Rst.Open "Select * From client",Con
End Function

Une fois la connexion établie, on peut parcourir le Recordset
Exemple :
Rst.MoveFirst
Do While Not Rst.EOF()
insérer ici votre source
Rst.MoveNext
Loop
0
themax84 Messages postés 48 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 14 octobre 2010 19
12 févr. 2007 à 17:02
merci et comment on fait ton dim con as AD...
je ne l'ai pas dans ma liste ?
Il faut rajouter une option dans le menu outils de vba non?
comment adapter ta solution a la mienne?
je suis pas tré for en vba dsl!
0
themax84 Messages postés 48 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 14 octobre 2010 19
12 févr. 2007 à 18:00
alors svp?
avez vous des sources
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alezan1 Messages postés 10 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 12 février 2007 3
12 févr. 2007 à 18:11
je cherche...
0
themax84 Messages postés 48 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 14 octobre 2010 19
13 févr. 2007 à 09:36
merci c sympa de ta part ti gar,lol
0