Créer des enregistrements dans une table access 2010

5 réponses
Avatar
Josephine
Bonjour, je suis sous excel 2010 et souhaite depuis une feuille excel
cr=E9er des enregistrements dans une table access 2010 et je suis
confront=E9e =E0 plusieurs pb. Tout d'abord, quand j'ouvre ma base
(.accdb) en vba depuis excel j'ai un message d'erreur "format non
reconnu". Y a t'il une reference sp=E9cifique =E0 cocher pour les versions
2010 ? Ma base sera transform=E9e pour =EAtre distribu=E9e avec le runtime,
les liaisons excel vers access sont elles toujours possibles sans pb ?
Ensuite, dans ma feuille excel, j'ai nomm=E9 la plage de cellules devant
me servir pour cr=E9er des enregistrements access (40 lignes sur une
m=EAme colonne). Comment me d=E9placer dans cette plage de cellules en
vba, sachant que chaque cellule repr=E9sente un enregistrement, le nom
de la cellule me servant de code pour ma table access et le contenu de
la cellulle me donne la valeur =E0 enregistrer ? naturellement, les
lignes ne se suivent pas forc=E9ment, je peux passer de la ligne 9 =E0 la
ligne 10 , puis =E0 la ligne14 ?
Beaucoup de questions ! Merci pour vos r=E9ponses !

5 réponses

Avatar
DanielCo
Bonjour,
Publie ton code.
Cordialement.
Daniel


Bonjour, je suis sous excel 2010 et souhaite depuis une feuille excel
créer des enregistrements dans une table access 2010 et je suis
confrontée à plusieurs pb. Tout d'abord, quand j'ouvre ma base
(.accdb) en vba depuis excel j'ai un message d'erreur "format non
reconnu". Y a t'il une reference spécifique à cocher pour les versions
2010 ? Ma base sera transformée pour être distribuée avec le runtime,
les liaisons excel vers access sont elles toujours possibles sans pb ?
Ensuite, dans ma feuille excel, j'ai nommé la plage de cellules devant
me servir pour créer des enregistrements access (40 lignes sur une
même colonne). Comment me déplacer dans cette plage de cellules en
vba, sachant que chaque cellule représente un enregistrement, le nom
de la cellule me servant de code pour ma table access et le contenu de
la cellulle me donne la valeur à enregistrer ? naturellement, les
lignes ne se suivent pas forcément, je peux passer de la ligne 9 à la
ligne 10 , puis à la ligne14 ?
Beaucoup de questions ! Merci pour vos réponses !
Avatar
Josephine
Bonjour, mon "début" de code est le suivant (début car j'attends vos
éventuelles réponses pour passer à la suite : comment se déplacer d ans
une plage de cellule pour créer mes enregistrements access ? la
liaison excel access avec le runtime ?) :
Dim mabase As database, matable As Recordset, Sh As Worksheet
Set mabase= OpenDatabase("C:mabase.accdb") Ici message format non
reconnu
Set matable= mabase.OpenRecordset("matable")
Set Sh = Worksheets("mafeuille")
Application.Goto Reference:="maplagecellules"
Merci.
Avatar
DanielCo
Pour la première partie de ta question, si le type de fichier est
.accdb il faut cocher la référence Microsoft Office nn.0 Access
database engine Object Library. Je n'ai pas le temps de regardere la
suite. J'y reviens dès que j'ai un moment.
Daniel


Bonjour, mon "début" de code est le suivant (début car j'attends vos
éventuelles réponses pour passer à la suite : comment se déplacer dans
une plage de cellule pour créer mes enregistrements access ? la
liaison excel access avec le runtime ?) :
Dim mabase As database, matable As Recordset, Sh As Worksheet
Set mabase= OpenDatabase("C:mabase.accdb") Ici message format non
reconnu
Set matable= mabase.OpenRecordset("matable")
Set Sh = Worksheets("mafeuille")
Application.Goto Reference:="maplagecellules"
Merci.
Avatar
Josephine
Merci, c'�tait un pb de reference, encore fallait il savoir laquell e
cocher ! pour mes autres questions, j'ai r�ussi � crï¿ ½er ma boucle dans
ma plage de cellules pour cr�er mes enregistrements en fonction des
noms donn�s aux cellules. Ne reste plus que le pb de la base en
runtime et de l'�criture de donn�es depuis excel, et lï ¿½ il s'agit plus
d'un conseil !
Merci encore.
Avatar
DanielCo
Bon, je ne vois pas trop comment sont disposer tes données Excel et
comment tu dois prendre les lignes à copier. Peux-tu metre un classeur
exemple (sans données cofidentielles) sur cjoint.com. Poste ensuite ici
le lien généré. Et ton problème est-il de boucler sur les cellules
Excel ou plutôt d'écrire dans la table ?
Daniel


Merci, c'