Lier un enregistrement access avec un fichier excel

agtim Messages postés 12 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 19 août 2014 - 27 juil. 2011 à 08:20
cs_Kurus Messages postés 36 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 10 août 2011 - 27 juil. 2011 à 13:04
Bonjour a tous,

Je travaille dans une societe qui me demande de creer sa base de donnees.
Super je ne comprends rien a access. Au final j ai reussi a creer tout ce aue je voulais en 2 semaines (seuleument qq tables et un formulaire!!!).

Mais voila, je dois analyser les donnees, j ai donc utilise excel. Le probleme est que dans mon formulaire je voudrais lier un fichier excel different pour chaque enregistrement.

Exemple:
Nom du revendeur = Orion
Je veux le lien du fichier excel orion (ou il y a toutes les analyses)

Nom revendeur = Omega
Je veux le lien du fichier excel Omega

Est ce que je me suis bien fait comprendre?


Merci, en attendant votre reponse

noob

9 réponses

cs_Kurus Messages postés 36 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 10 août 2011
27 juil. 2011 à 09:16
Bonjour,

Tu peux essayer de donner des noms explicites à tes fichiers : Orion.xls, Omega.xls, et sur une liste déroulante, tu affiches la liste de ta table : Orion, Omega, et sur un bouton, tu mets sur l'évènement clic l'ouverture du fichier.

Cela implique que tes fichiers soient centralisés dans un seul répertoire (ou alors tu indiques le chemin complet dans ta table).

Si tout est centralisé, sur clic tu mets une ouverture de document avec le chemin par défaut et juste le nom de ta variable qui va changer.

Private Sub cmdOpenExcel_Click()
Dim xls As Excel.Application
On Error GoTo errHnd
Set xls = CreateObject("Excel.Application")
xls.Workbooks.Open "c:\Repertoire" & nomVariable & ".xls"
xls.Visible = True
Exit Sub
errHnd:
MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source
End Sub
0
agtim Messages postés 12 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 19 août 2014
27 juil. 2011 à 09:40
Merci beaucoup pour ta reponse,

cependant il me reste quelque point noir.
Que veux tu dire par nom de variable?
Et lorsque je fais ce que tu me dis il y a une ligne qu'il n'aime pas :
xls.Workbooks.Open "c:\Repertoire" & nomVariable & ".xls" il me marque expected end of statement.

Sinon tout mes fichiers sont dans un dossier specifique dispo sur le reseau interne de l'entreprise. Est ce que c'est bon pour le repertoire?

Merci encore


noob
0
cs_Kurus Messages postés 36 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 10 août 2011
27 juil. 2011 à 10:38
Quand je te dis nom de variable, je parle de celle de ton formulaire, la variable de la liste déroulante.

En fait, dans ton formulaire, tu vas créer une liste déroulante pour afficher les noms de ta table , d'accord ? Tu vas donner par exemple le nom lstFichier à ta variable.

Et dans ton code, tu vas appeler lstFichier.Column(0) , cela va en fait appeler la colonne 0 de ta liste déroulante. Si tu as mis en plus la clé cachée, il faut alors que tu appelles la colonne 1 etc ...

Il me semble que pour l'ouverture de ton fichier tu dois joindre une librairie qui n'est pas par défaut, sinon ce que tu peux faire c'est mettre tout ça dans une variable string, que tu appelleras ensuite

Dim chemin As string
chemin = "C:\RepertoireOuTuAsLesInfos" & lstFichier.Column(0) & ".xls"

Ensuite tu fais ton appel : xls.Workbooks.Open chemin

Cela devrait fonctionnner ... Tiens moi au courant, et cherche sur le forum ou bien sur Google pour l'ouverture d'un fichier excel
0
agtim Messages postés 12 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 19 août 2014
27 juil. 2011 à 10:41
C'est bon, a force de tatonner j'ai reussi a resoudre mon probleme

Maintenant est ce que c'est possible que lors de l'ouverture d'excel il s'ouvre a une page specifique (j'en ai 5 differentes par fichier excel)?

Merci beaucoup

noob
0

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

Posez votre question
agtim Messages postés 12 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 19 août 2014
27 juil. 2011 à 10:43
Desole je deviens chiant mais est ce que c'est possible de faire ca sur une page d'acces aux donnees disponible sur internet?

Merci


noob
0
cs_Kurus Messages postés 36 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 10 août 2011
27 juil. 2011 à 10:48
Pour ta première question, je pense que ça doit être possible, en tâtonnant toujours du côté des Worksheet. Essaie de faire un activate sur ton worksheet.

Pour la seconde, je ne vois pas vraiment ce que tu veux dire. Pourrais tu me donner un exemple concret ?

Sinon regarde ici, tu devrais trouver ton bonheur

http://office.microsoft.com/fr-fr/access-help/CH006252650.aspx
0
agtim Messages postés 12 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 19 août 2014
27 juil. 2011 à 11:58
Sur un formulaire tu peux par exemple mettre un bouton et ensuite gerer son utilisation grace a l'onglet event et au language vba.
Sur une page d acces aux donnees tu peux aussi creer un bouton mais il y a quasiment aucune option mais surtout plus d onglet event qui permettait de pouvoir lier mes fichiers excel (je ne trouve plus de moyen d'utiliser le language vba).
Ou encore une liste deroulante qui te permettait de remplir le reste de tes cases comme dans un formulaire.

Il n'y a aucune aide sur ces pages d'acces aux donnes et je suis en train de me demander si cela est reellement necessaire!!!

noob
0
agtim Messages postés 12 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 19 août 2014
27 juil. 2011 à 13:02
Je vais oublier les page d acces aux donnes, par contre comment faire pour afficher seuleument le for;ulaire qund je l'ouvre? J ai lu pas mal de discussions sur le sujet mais je ne sais pas ou mettre les codes qu'il me donne.
J ai creer un raccourci vers mon formulaire mais je ne souhaite pas voir apparaitre access derriere pour que ca est l'air plus professionnel.

Merci


noob
0
cs_Kurus Messages postés 36 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 10 août 2011
27 juil. 2011 à 13:04
Avec un peu de recherche sur le net =)

Il peut être également intéressant d'utiliser l'Assistant Bouton de commande si vous voulez apprendre à créer des procédures événementielles. Lorsqu'Access crée un bouton de commande dans un formulaire ou un état à l'aide d'un Assistant, il crée une procédure événementielle et l'associe au bouton. Vous pouvez ouvrir la procédure événementielle pour voir comment elle fonctionne et la modifier pour qu'elle réponde à vos besoins. Lorsque vous créez un bouton de commande dans une page d'accès aux données à l'aide d'un Assistant, Access ne crée pas de procédure événementielle à votre place.

Les Assistants ne sont pas disponibles dans une page d'accès aux données autonome ou lorsque vous pointez vers une base de données dans une page d'accès aux données autre que celle ouverte. L'Assistant Bouton de commande n'est pas non plus disponible si la page d'accès aux données n'est pas associée à une table ou une requête. Si les Assistants ne sont pas disponibles, vous devez créer un bouton de commande manuellement.

L'avantage d'être intelligent, c'est que l'on peut paraître con. Alors que l'inverse est impossible ...
0
Rejoignez-nous