Erreur lors d'un clic bouton crée dans excel
Résolu/Fermé
starnours
-
10 avril 2008 à 16:15
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 11 avril 2008 à 15:15
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 11 avril 2008 à 15:15
A voir également:
- Erreur lors d'un clic bouton crée dans excel
- Erreur 0x80070643 - Accueil - Windows
- Liste déroulante excel - Guide
- Cree un compte google - Guide
- Créer un compte gmail - Guide
- Comment créer un groupe whatsapp - Guide
6 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
10 avril 2008 à 16:20
10 avril 2008 à 16:20
bonjour,
As-tu coché dans Outils -> références -> Microsoft DAO x.x Object library ou quelque chose comme ça ?
;o)
polux
As-tu coché dans Outils -> références -> Microsoft DAO x.x Object library ou quelque chose comme ça ?
;o)
polux
Non, je n'ai rien coché. Je n'arrive pas à trouver où l'on peut trouver ça... :-(
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
11 avril 2008 à 10:33
11 avril 2008 à 10:33
Bonjour à tous
ta déclaration
dim base as database est fausse:
database n'existe pas comme type de données sauf si database est (et encore que !!!...) lié à un module de classe que vba déclare caché puisqu'il ne le voit pas (il n'existe pas)...
maintenant, sans autres explications, dificille de t'aider
Michel
ta déclaration
dim base as database est fausse:
database n'existe pas comme type de données sauf si database est (et encore que !!!...) lié à un module de classe que vba déclare caché puisqu'il ne le voit pas (il n'existe pas)...
maintenant, sans autres explications, dificille de t'aider
Michel
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
11 avril 2008 à 11:39
11 avril 2008 à 11:39
de rien starnours, c'est toujours avec plaisir que j'essaie d'aider ... ... "efficacité consternante" ...mdrrr ... ce n'est que de la pratique dans le cadre de mon boulot, rien d'extraordinaire ... mais t'inkiète j'en apprends aussi tous les jours ...
bon courage pour la suite
;o)
polux
bon courage pour la suite
;o)
polux
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
starnours
Messages postés
48
Date d'inscription
vendredi 26 octobre 2007
Statut
Membre
Dernière intervention
27 juillet 2009
4
11 avril 2008 à 14:36
11 avril 2008 à 14:36
merci.
En parlant de continuation, celle de mes soucis persiste :
Je fais un lien à partir de mon fichier excel vers une table access (via un bouton sur mon fichier excel) et j'ai l'impression qu'excel n'aime guère cette ligne :
DoCmd.RunSQL ("INSERT INTO [TEST_INFO_FOU] (id_assoc) VALUES ('3');")
Voici mon code :
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Dim base As Database
Dim num_assoc As Integer
Dim requete As String
Dim rs As DAO.Recordset
Dim Nbre_ligne_requete As Integer
Dim cpt As Integer
cpt = 0
Set ws = DBEngine.WorkSpaces(0)
Set base = ws.OpenDatabase("C:\Documents and Settings\a069863\Desktop\SEDE.mdb", False, False, "MS Access;PWD=tilia")
num_assoc = ActiveWorkbook.ActiveSheet.Cells(101, 3).Value
requete = " SELECT cNomFou,cPays,id_AssocLignePrix FROM [Association Prix Ligne] WHERE [id_ligne_associée] = " & num_assoc & " ORDER BY id_AssocLignePrix;"
Set rs = base.OpenRecordset(requete, dbOpenSnapshot)
If rs.RecordCount > 0 Then
rs.MoveLast
Nbre_ligne_requete = rs.RecordCount
rs.MoveFirst
End If
Do While (cpt < Nbre_ligne_requete)
MsgBox rs(0) & " | " & rs(1) & " | " & rs(2)
DoCmd.RunSQL ("INSERT INTO [TEST_INFO_FOU] (id_assoc) VALUES ('3');")
'=>Erreur dans excel quand je rajoute cette ligne: erreur d'exectution 424 blablabla...
rs.MoveNext
cpt = cpt + 1
Loop
Set rs = Nothing
base.Close
En parlant de continuation, celle de mes soucis persiste :
Je fais un lien à partir de mon fichier excel vers une table access (via un bouton sur mon fichier excel) et j'ai l'impression qu'excel n'aime guère cette ligne :
DoCmd.RunSQL ("INSERT INTO [TEST_INFO_FOU] (id_assoc) VALUES ('3');")
Voici mon code :
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Dim base As Database
Dim num_assoc As Integer
Dim requete As String
Dim rs As DAO.Recordset
Dim Nbre_ligne_requete As Integer
Dim cpt As Integer
cpt = 0
Set ws = DBEngine.WorkSpaces(0)
Set base = ws.OpenDatabase("C:\Documents and Settings\a069863\Desktop\SEDE.mdb", False, False, "MS Access;PWD=tilia")
num_assoc = ActiveWorkbook.ActiveSheet.Cells(101, 3).Value
requete = " SELECT cNomFou,cPays,id_AssocLignePrix FROM [Association Prix Ligne] WHERE [id_ligne_associée] = " & num_assoc & " ORDER BY id_AssocLignePrix;"
Set rs = base.OpenRecordset(requete, dbOpenSnapshot)
If rs.RecordCount > 0 Then
rs.MoveLast
Nbre_ligne_requete = rs.RecordCount
rs.MoveFirst
End If
Do While (cpt < Nbre_ligne_requete)
MsgBox rs(0) & " | " & rs(1) & " | " & rs(2)
DoCmd.RunSQL ("INSERT INTO [TEST_INFO_FOU] (id_assoc) VALUES ('3');")
'=>Erreur dans excel quand je rajoute cette ligne: erreur d'exectution 424 blablabla...
rs.MoveNext
cpt = cpt + 1
Loop
Set rs = Nothing
base.Close
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
11 avril 2008 à 15:15
11 avril 2008 à 15:15
re,
DoCmd.RunSQL n'est pas une instruction VBA Excel mais VBA Access. Excel ne reconnait pas cette instruction.
Il faut faire comme pour ta requête SELECT ... et passer par un recordset comme celui que tu as mis : Set rs = base.OpenRecordset(requete, dbOpenSnapshot).
DoCmd.RunSQL n'est pas une instruction VBA Excel mais VBA Access. Excel ne reconnait pas cette instruction.
Il faut faire comme pour ta requête SELECT ... et passer par un recordset comme celui que tu as mis : Set rs = base.OpenRecordset(requete, dbOpenSnapshot).