Lien hypertexte ecel vers access

Jerome -  
WhiteFang Messages postés 2063 Statut Membre -
Bonjour,
j'aimerai realiser un lien hypertexte d'excel vers access. Jusque la, pas de probleme me direz-vous...mais le fait est que je voudrais specifier sur quel produit il doit arriver dans le formulaire. En fait, je m'occupe de referencer des produits. J'ai donc ces produits dans des tableaux excel et dans access dans une table products. Excel pour une approche financiere, access pour une approche technique. J'ai deja realise un lien d'access vers excel pour chaque produit en ajoutant un champ lien hypertexte et en realisant un bouton dans le formulaire en mode creation.
Mon but est desormais de realiser un lien dans le sens inverse pour chaque produit d'excel vers access.

Est-ce realisable?

Merci d'avance.

Jerome

11 réponses

WhiteFang Messages postés 2063 Statut Membre 204
 
;-)

Oui, c'est réalisable...

;-)
0
jerome
 
et comment?!
0
Jerome
 
personne n'a une idee de comment faire ca alors?
0
WhiteFang Messages postés 2063 Statut Membre 204
 
;-)

Si si, on a une idée, mais tu question était "est-ce réalisable"...

Tu as eu ta réponse... ;-)

Maintenant, te dire comment faire, cela fait un peu "juste", question infos pour te donner LA solution ou l'explication... Il faudrait avoir ta base et le classeur, plus les détails techniques pour te dire exactement comment faire, ce qui me semble un peu "hors des clous" question confidentialité...

Si tu as fait le lien HyperText vers Excel, tu as donc une notion des objets Excel... Maintenant, à toi de bien penser aux objets Access et à leur fonctionnement, tel que "quel est l'objet Access que je vais utiliser pour que quand je cliques dans Excel, cela me lance Access avec le passage de paramètre qui m'interresse"...

Y'a du boulot ! ;-)

;-)
0
Jerome
 
Bonjour,
evidemment la confidentialite des donnees ne me permet pas de transmettre les tableaux! Je peux juste dire que je repertorie des produits dans excel et access (les memes produits). J'ai malheureusement passe deja beaucoup de temps a reflechir aux solutions possibles et mes connaissances limitees ne m'ont pas permis de trouver de solution...Pensez-vous que je sois oblige de coder pour cela? En sachant que pour le lien access vers excel, j'ai reussi a le faire sans coder...

Merci

Jerome
0
WhiteFang Messages postés 2063 Statut Membre 204 > Jerome
 
;-)

Pour moi, la solution la plus "élégante" serait de coder, mais bon, si tu n'as pas trop les compétences, cela risque de prendre du temps...

Une solution (de tête), serait peut être de mettre dans une cellule fixe et cachée (lors du clic Excel) la clé d'identification du produit puis d'utiliser cette clé dans une requête paramétrée, via l'explorateur d'objets... ?

Mais bon, pas fastoche d'imaginer une solution avec si peu d'infos...

Sinon, coder serait bien plus facile... Tu crées une instance Excel masquée, tu ouvres le classeur, tu récupère le nom du produit dans une variable et tu t'en sers pour ta requête... Pouf pouf... ;-) Ou tu crées une instance Access et tu fais la même chose dans l'autre sens, tu as plein de solutions... Quand tu codes, tu n'as plus de "limites" (entre "" bien sûr..)

;-)
0
Jerome > WhiteFang Messages postés 2063 Statut Membre
 
De quelles infos supplementaires aurais-tu besoin pour te faire une idee plus precise du probleme?

J'ai essaye de coder en VBA, mais ca ne marche pas (il me dit que j'ai une erreur de syntaxe dans l'expression avec [Varen]=... et quand je m'arrange pour mettre des valeurs numeriques (je remplace donc Text par Value et la cellule selectionne, il me dit "erreur d'execution '2501' : l'action OpenForm a ete annulee").
Voici le code :

Sub OuvrirAccess()
Dim appAccess As Object
Dim strChemin As String
Dim strForm As String
Dim strFiltre As String

'chemin de la base de donnee
strChemin = "D:/Mon taf/Program/Manual.PROG.mdb"

'nom du formulaire a ouvrir
strForm = "Products"

'filtre pour afficher un enregistrement precis du formulaire
strFiltre = "[Varenr]=" & ActivCell.Text

'Ouvrir le formulaire
Set appAccess = CreateObject ("Access.Application")
appAccess.OpenCurrentDatabase (strChemin)

appAccess.DoCmd.OpenForm strForm, acNormal, , strFiltre
Set appAccess = Nothing
End Sub


Peut-etre ne suis-je pas si loin de la solution?!

Jerome
0
WhiteFang Messages postés 2063 Statut Membre 204 > Jerome
 
;-)

L'objet : ACTIVECELL.value (activE)

Change déjà ça....

;-)
0
WhiteFang Messages postés 2063 Statut Membre 204 > Jerome
 
;-)

Normalement, tu ne dois rien visualiser, non ?

;-)
0

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

Posez votre question
Jerome
 
Le formulaire access s'ouvre bien desormais, mais toujours pas au bon endroit! J'ai toujours le message d'erreur concernant OpenForm :-(

Jerome
0
WhiteFang Messages postés 2063 Statut Membre 204
 
;-)

Passe, en attendant, le "Nothing" de la session Access en commentaire..

;-)
0
Jerome
 
ca marche !!!! j'ai rajoute une ligne numero dans ma table produits dans access. Cela dit, je prefererai pouvoir faire le test pour la cellule active avec du texte et non une donnee numerique, que changer pour cela?

Jerome
0
WhiteFang Messages postés 2063 Statut Membre 204
 
;-)

C'est pas un conseil que je te donne, Access, comme tout en informatique d'ailleurs, préfère du numérique pour traiter les infos, cela va beaucoup plus vite... Enfin, du texte, ça plantera pas non plus !

;-)
0
Jerome
 
ok pour le numerique alors!!! c'est vrai que les caracteres speciaux peuvent s'averer embarassants. Mon dernier souci est donc desormais de creer un bouton dans excel afin de ne pas etre oblige de faire Outils/Macro/Macro a chaque fois... Est-ce facilement realisable? Si oui, pourrais-tu m'aider stp?

Jerome
0
WhiteFang Messages postés 2063 Statut Membre 204
 
;-)

Encore un truc que je ne te conseille pas !! ;-)))

Désolé ;-)))))

Non, les "boutons" sur une feuille, caca boudin...

Comme le code à l'air de te plaire, utilise, dans le VBA de ta feuille, le Selection_Change... Ca, c'est nickel !! ;-)

Un petit select case et le tour est joué... Et aussi, un bon petit texte dans la cellule, une mise en forme pour la faire ressembler à un bouton, et ça te fais un très joli petit truc...

;-)
0
Jerome
 
Ouh la!!! je suis largue lol!!!

Tu pourrais pas me donner une ptite idee du code a rajouter stp?

Jerome
0
WhiteFang Messages postés 2063 Statut Membre 204
 
;-)

En premier, dans la cellule, tu fais tout ce qu'il faut (texte et apparence) pour qu'elle ressemble à un bouton...

Ensuite, dans l'environnement VBA, dans la fenêtre des objets, tu double-clique sur le nom de ta feuille...

Cela te fera rentrer dans le code de la feuille...

Tu sélectionnes, après avoir choisi l'objet WorkSheet, dans la liste des événements, l'événement "Selection_Change" au cas où tu ne serais pas déjà dedans... ;-)

Ensuite, entre le Sub/End sub, tu mets ton code !!

Tu vas voir que la sub récupère des propriétés d'objet... Comme l'objet Target !!

Il te suffit ensuite de tester les propriété de l'objet Target et de lancer la procédure qu'il faut...

Ex :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Row (teste le n° de ligne)
If Target.Row = 1 Then (si c'est la 1ère ligne, alors)
Select Case Target.Column (test du n° de colonne)
If Target.Column = 1 Then TaProcédure (si colonne 1, exécution de la sub)
End Select (fermeture du bloc select 2)
End Select (fermeture du bloc select 1)
cels(1,1).select (retour sur la cellule A1 : ligne 1, colonne 1)
End Sub

Et voilà !! Bon, tu vires mes commentaires entre () quand même !! Et tu évites de mettre ça en cellule A1, car l'événement selection_change ne se déclanche quand tu cliques sur un autre cellule que la cellule active, c'est le pourquoi du retour sur A1...

;-) Have Fun !
0
Jerome
 
euh...ca marche pas...et puis j'ai du mal a suivre !!! je suis nul en programmation comme j'ai dit! c'est pas plus facile de creer un bouton manuellement? Meme si c'est pas tres beau, tant pis!!!

Jerome
0
WhiteFang Messages postés 2063 Statut Membre 204
 
;-)

Clique sur mon pseudo, tu pourras me joindre, et avoir un petit cours perso sur VBA ;-)

Question facilité de création, cela peut se discuter, si tu veux créer ton bouton, car cela te ramènera quand même vers du code VBA pour associer le clic et l'action...

Mais, dans l'absolu, l'important est que cela foncionne, après, c'est du plus, surtout si c'est pour ta propre utilisation...

;-)
0