macro pour insérer lien vers image

donpopo

XLDnaute Occasionnel
Bonsoir tout le monde,

Je suis en train de créer un fichier de gestion de facturation. Celui-ci avance bien malgré le peu de connaissance que je possédait au départ en vba. Mais grâce à votre aide, j'apprend un tas de choses.

A l'heure actuelle, je cherche à créer une macro qui m'ouvre une boite de dialogue comme celle de "ouvrir fichier" de Excel afin que je puisse sélectionner un fichier PDF; cette macro doit ensuite ranger ce lien dans une cellule précise de la feuille.

Les PDF sont stockés dans un dossier qui ne change pas. (ex.: D:\Facturation)

Je n'arrive pas à trouver des renseignements clairs sur la gestion des lien hypertextes en vba.

En vous remerciant,

Donpopo
 

Pièces jointes

  • Documents.zip
    21 KB · Affichages: 77
  • Documents.zip
    21 KB · Affichages: 72
  • Documents.zip
    21 KB · Affichages: 72
C

Compte Supprimé 979

Guest
Re : macro pour insérer lien vers image

Salut donpopo,

Tu trouveras ci-joint un fichier avec le code qui va bien ;)

On utilise un API windows pour l'ouverture de la boite de dialogue.

A+
 

Pièces jointes

  • Donpopo_ChoixFichier+Lien Hypertexte.xls
    47 KB · Affichages: 431
Dernière modification par un modérateur:

donpopo

XLDnaute Occasionnel
Re : macro pour insérer lien vers image

Bonjour le forum,

Je reprend cet ancien post afin de ne pas en créer un nouveau qui ferait doublon.

En effet, la solution apportée par BrunoM45 fonctionne super bien..

Cependant, voici plusieurs semaines que j'essaie de transposer ce module de lien hypertexte prévu pour des page Excel vers un Userform.

Je m'explique: auparavant je travaillais uniquement avec des boutons et des controles posés sur des feuilles Excel. Depuis peu, je retravaille mon programme afin de travailler uniquement par userforms.

Mais n'ayant pas créé moi-même le module Hyperlien, je n'arrive pas à le transcrire pour que la fenêtre qui recherche le lien m'affiche celui-ci dans un textbox au lieu d'une cellule.

Le programme crée par BrunoM45 est toujours fonctionnel sur le post.

Merci de m'aider si possible.

donpopo
 
C

Compte Supprimé 979

Guest
Re : macro pour insérer lien vers image

Salut Donpopo,

Attention, si tu mets le lien dans un textbox, celui-ci ne sera pas cliquable.
Tu t'en rend bien compte ;)

Peux-tu nous joindre la nouvelle version du fichier ?

A+
 

donpopo

XLDnaute Occasionnel
Re : macro pour insérer lien vers image

Salut BrunoM45,

J'ai quelques problèmes pour joindre un exemple de mon fichier car je travaille en Excel 2007 et j'ai donc des fichiers xlsm.

J'ai toujours déposé mon programme sur cijoint.fr pour des personnes qui travailleraient en excel 2007.

http://www.cijoint.fr/cjlink.php?file=cj201004/cijNXcFyII.xlsm

Mon souhait est que lorsque je clique sur le bouton 'Cliquez' dans 'Gestion des achats / Création, lorsque j'ai choisi le fichier à joindre, le chemin s'affiche dans le label 'LabHyperlienFact'.

Lorsque je cliquerai sur le bouton 'Enregistrer', toutes ces données serontcopiées dans une ligne d'une feuille 'shAchats'.

Dans le module 'Mod_Insertion_Hyperlien', je suppose qu'il faut modifier la destination de l'hyperlien, mais je ne sais comment.

Mais ton précédent message me pose problème, car tu me dis que ce lien ne sera pas utilisable en cliquant dessus. Mon but est, cependant, lors d'une future consultation de mes factures, de pouvoir visualiser le PDF représentant l'original.

Si ce problème n'est pas surmontable, il faudra sûrement que je continue à travailler aec des contrôles placés directement sur des feuilles Excel comme je pratiquais auparavant?

Bien à toi,

donpopo
 
C

Compte Supprimé 979

Guest
Re : macro pour insérer lien vers image

Salut Donpopo

Modifications à apporter ;)
1) dans le module : Mod_Insertion_Hyperlien
Remplacer la Sub par une fonction
Code:
Function ChoixLienFactAchat()
  Dim sFilter As String, VPath As String, VPathFic As String
  Dim NumFac As String
            ' Initialisation des variables
  VPath = Sheets("shOptions").Range("C3").Value
  sFilter = "Facture PDF (*.PDF)" & Chr(0) & "*.pdf" & Chr(0)
            ' Choix du fichier
  VPathFic = GetFileName(sFilter, VPath, "Choix du fichier PDF")
            ' Si aucun fichier n'a été choisi
  If VPathFic = "" Then
    ChoixLienFactAchat = ""
  Else
    ' Retour du lien vers la facture
    NumFac = Mid(VPathFic, InStrRev(VPathFic, "\") + 1)
    ChoixLienFactAchat = VPathFic
  End If
End Function
2) Dans le code de l'USF : fmEncAchats
Remplacer le code du bouton par
Code:
Private Sub BoutHyperl_Click()
  Me.LabHyperlienFact.Caption = ChoixLienFactAchat
End Sub
3) Dans la sub : BoutEnreg_Click()
Modifier le code après Else, pas:
Code:
  Else
    Dim TxtFact As String
    On Error Resume Next
    TxtFact = ""
    TxtFact = Mid(LabHyperlienFact, InStrRev(LabHyperlienFact, "\") + 1, 255)
    On Error GoTo 0
    With Sheets("shAchats")
      lignevierge = Range("C65536").End(xlUp).Row + 1
      ' Inscription de la valeur avec lien hypertexte
      [COLOR=Blue][B].[/B][/COLOR]Hyperlinks.Add Anchor:=.Range("A" & lignevierge), Address:=LabHyperlienFact, TextToDisplay:=TxtFact
      ' Inscription des autres données
      [COLOR=Blue][B].[/B][/COLOR]Range("C" & lignevierge) = LabTrimAchat
' Etc ...
Ensuite il faut faire attention à ta programmation,
Lorsque tu utilises With Objet ... End With tu n'utilises pas le Point pour cet objet (voir lignes ci-dessus)

Fichier sur Cijoint : Cijoint.fr - Service gratuit de dépôt de fichiers

A+
 

donpopo

XLDnaute Occasionnel
Re : macro pour insérer lien vers image

Bonjour BrunoM45,

Merci pour la correction de cette procédure.

Je viens de relire la synthaxe de With...End with. J'ai remarqué l'erruer que je fais en programmant.

Encore merci pour ton aide

Bien à toi,

donpopo
 

Discussions similaires

Réponses
7
Affichages
514
Réponses
2
Affichages
315

Statistiques des forums

Discussions
312 505
Messages
2 089 103
Membres
104 032
dernier inscrit
akram.job