Lien hypertexte
Bonjour !
Me voilà face à un nouveau problème, j'ai chercher dans les questions résolues sur le forum mais sans trouver de réponse.
Je souhaite, en suivant la fermeture d'un userform, ouvrir la fenetre de création de lien hypertexte, choisir le ficher à linker et ensuite garder en mémoire ce lien sous le nom "fiche" pour l'écrire ensuite dans une base de donnée.
J'ai essayé:
Application.Dialogs(xlDialogInsertHyperlink).Show
Qui fonctionne, mais ne fait pas ce que je veux. Effectivement je peux choisir un fichier, le lien hypertexte est créé MAIS il s'inscrit dans la cellule qui est sélectionné ce qui ne convient pas du tout. Je dois le garder en mémoire pour l'écrire dans la base de données.
J'ai ensuite essayé:
fiche = Application.GetOpenFilename("Tous,*.*", , "Choisir un fichier ...")
Qui fonctionne également, j'ai alors dans "fiche" le chemin d'accès du fichier choisi. J'arrive à écrire fiche au bon endroit dans la base de données MAIS le chemin écrit n'est pas un lien hypertexte. Il n'est pas en bleu souligné et n'ouvre rien au clic.
Auriez vous une idée de comment faire ?
Bonne journée à tous !
Vrancky
bonjour
exemple pour renvoyer l'hyperlien en a1 :
fiche = Application.GetOpenFilename("Tous,*.*", , "Choisir un fichier ...")
Range("a1").Hyperlinks.Add anchor:=Range("a1"), Address:=fiche
a plus
Merci poura ta réponse mais ca continu de bloquer. Je tombe sur l'erreur suivante (pour info, j'utilise Excel 2003):
"Erreur de compilation
Argument nommé introuvable"
adresse est alors "sélectionné" en bleu (pas en jaune)
le code est le suivant:
Private Sub CommandButton1_Click()
Dim nomstage As String
Dim fiche As String
nomstage2 = TextBox1.Value
Dim ligne As Integer
ligne = Selection.Cells(1).Row
'chercher la colonne a laquelle le stage doit etre inserer
Dim colonne As Integer
colonne = Selection.Cells(1).Column
Call selectStage(ligne, colonne)
Dim fin, debut As Integer
fin = getDerniereSemaineStage(ligne, colonne)
debut = getPremiereSemaineStage(ligne, colonne)
Dim numerostage As Integer
numerostage = getNumeroStage(ligne, colonne)
fiche = Application.GetOpenFileName("Tous,*.*", , "Choisir la fiche de lancement de stage :")
DoEvents
With Sheets("BaseDeDonnees")
Dim lignebdd As Integer
lignebdd = 2
While (.Cells(lignebdd, 1).Value <> numerostage)
lignebdd = lignebdd + 1
Wend
nbStagiaires = .Cells(lignebdd, 10).Value
promotion = .Cells(lignebdd, 15).Value
remarque = .Cells(lignebdd, 16).Value
Range("lignebdd19").Hyperlinks.Add anchor:=Range("lignebdd19"), adresse:=fiche
'j'ai essayé aussi: .Cells(lignebdd, 19).Hyperlinks.Add anchor:=.Cells(lignebdd, 19), adresse:=fiche
'l'erreur avec "adresse" semble logique étant donné que "adresse" n'a pas pris automatiquement un A majuscule
End With
Call setNomStageGras(ligne, debut, fin, nomstage2, nbStagiaires, promotion, remarque, colonne)
Unload Me
End Sub
C'est moi qui ai merdé....
Ca fonctionne, merci !