Lien cliquable tableau Excel
bonjour à tous,
je souhaiterais créer un tableau avec plusieurs colonnes. l'une d'entre elle aurait un numéro de devis avec sur un lien cliquable avec ouverture automatique du devis sur fichier excel. Le debut du tableau est créé par contre lorsque je clique sur le lien dv-001, le tableau enregistré sur mon bureau ne s'ouvre pas. Sauriez vous m'aider svp ?
merci à tous
Bonjour et bienvenue sur ce forum
Désolé, mais je ne comprends pas votre question avec le fichier donné
Vous avez bien un lien, mais il pointe vers internet
=LIEN_HYPERTEXTE("https://exemple.com/devis/DV-001.XLSX"; "DV-001")A+
Bonjour et bienvenu sur le forum
Ton fichier est sur internet: https://exemple.com/devis/DV-002.pdf
si c'est le cas revoir l'adresse
Pour faire un lien:
Clic droit/lien
et tu choisi le fichier
A+ François
justement, le lien ne devrait pas se diriger vers internet, je souhaiterais que le lien me dirige vers un fichier excel enregistré sur mon bureau
- Messages
- 1'089
- Excel
- 2021 FR
- Inscrit
- 17/12/2018
- Emploi
- Technicien maintenance robot Retraité
oh merci beaucoup, cela fonctionne.
je ne voudrais pas abuser mais, penses-tu qu'il soit possible que le montant total du devis en question puis s'inscrire automatiquement dans le tableau que tu as modifié, dès lors que le montant est inscrit sur le devis ? mais peut-être que j'en demande trop..
en tout cas merci encore, trop contente
- Messages
- 1'089
- Excel
- 2021 FR
- Inscrit
- 17/12/2018
- Emploi
- Technicien maintenance robot Retraité
Re
oh merci beaucoup, cela fonctionne.
par contre, est ce possible de m'indiquer où pourrais-je retrouver la macro créée, et me l'expliquer s'il te plait?
merci encore, trop contente
Oui pour visualiser la macro tu sélectionnes ton onglet Sheet1
Tu clic sur Alt + F11 ou clic droit Visualiser le code ce qui va ouvrir Microsoft Visual Basic et la macro se trouve dans le module1 qui se trouve côté droit en haut faire un double clic dessus pour l'ouvrir
Sub LierDevisPDF()
Dim fd As FileDialog
Dim cheminFichier As String
Dim nomFichier As String
Dim cellule As Range
' Vérifie que la cellule active est dans la colonne E
If Not Intersect(ActiveCell, Range("E2:E1000")) Is Nothing Then
' Ouvre l'explorateur de fichiers
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "Sélectionnez le fichier PDF,EXCEL du devis"
.Filters.Clear
.Filters.Add "Fichiers PDF,EXCEL", "*.pdf,.xlsm,.xlsx"
.AllowMultiSelect = False
If .Show = -1 Then
cheminFichier = .SelectedItems(1)
nomFichier = Mid(cheminFichier, InStrRev(cheminFichier, "\") + 1) ' extrait le nom du fichier
Set cellule = ActiveCell
' Ajoute le lien hypertexte avec le nom du fichier comme texte
cellule.Hyperlinks.Add _
Anchor:=cellule, _
Address:=cheminFichier, _
TextToDisplay:=nomFichier
End If
End With
Else
MsgBox "Veuillez cliquer dans une cellule de la colonne E.", vbExclamation
End If
End SubEt celle qui va commander la macro par le double clic se trouve dans Feuil1 (Sheet1) qui se trouve côté droit en haut faire un double clic dessus pour l'ouvrir
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count = 1 And Not Intersect(Target, Me.Range("E2:E1000")) Is Nothing Then
Call LierDevisPDF
End If
End SubPour l'explication je verrais demain aujourd'hui c'est trop tard
Slts
- Messages
- 1'089
- Excel
- 2021 FR
- Inscrit
- 17/12/2018
- Emploi
- Technicien maintenance robot Retraité
Bonjour
J'ai vu que tu as modifié ton texte
oh merci beaucoup, cela fonctionne.
par contre, est ce possible de m'indiquer où pourrais-je retrouver la macro créée, et me l'expliquer s'il te plait?
merci encore, trop contente
Par:
oh merci beaucoup, cela fonctionne.
je ne voudrais pas abuser mais, penses-tu qu'il soit possible que le montant total du devis en question puis s'inscrire automatiquement dans le tableau que tu as modifié, dès lors que le montant est inscrit sur le devis ? mais peut-être que j'en demande trop..
en tout cas merci encore, trop contente
********Désolé je ne comprends pas bien ce que tu demandes********
Explication en gros "en couleur vert" la macro du Module1
'Début de la macro.
Sub LierDevisPDF()
'Déclare les variables
'Dim fd:==>l'explorateur de fichiers.
'Dim cheminFichier:==> le chemin complet du fichier sélectionné.
'Dim nomFichier: ==>le nom du fichier sans le chemin.
'Dim cellule:==> pour garder une référence sur la cellule active.
Dim fd As FileDialog
Dim cheminFichier As String
Dim nomFichier As String
Dim cellule As Range
'Vérifie que la cellule sélectionnée est bien dans la colonne E (de la ligne 2 à 1000). Sinon, on ne fait rien
If Not Intersect(ActiveCell, Range("E2:E1000")) Is Nothing Then
'Crée l'objet "explorateur de fichiers".
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'Personnalisation:
'Titre de la fenêtre
'Filtrage pour n’afficher que les fichiers .pdf,.Excel
'Pas de sélection multiple (un seul fichier à la fois)
With fd
.Title = "Sélectionnez le fichier PDF,EXCEL du devis"
.Filters.Clear
.Filters.Add "Fichiers PDF,EXCEL", "*.pdf,.xlsm,.xlsx"
.AllowMultiSelect = False
'Si l’utilisateur clique sur "Ouvrir" (et pas "Annuler")...
If .Show = -1 Then
'On récupère le chemin complet du fichier sélectionné.
cheminFichier = .SelectedItems(1)
'On extrait uniquement le nom du fichier (ex : Devis_1234.pdf) depuis le chemin complet.
nomFichier = Mid(cheminFichier, InStrRev(cheminFichier, "\") + 1) ' extrait le nom du fichier
'On garde une référence sur la cellule active (dans la colonne E).
Set cellule = ActiveCell
'On ajoute un lien hypertexte dans la cellule :
'Address : chemin complet du fichier (ex : C:\...\Devis.pdf)
'TextToDisplay : nom du fichier à afficher dans la cellule
' Ajoute le lien hypertexte avec le nom du fichier comme texte
cellule.Hyperlinks.Add _
Anchor:=cellule, _
Address:=cheminFichier, _
TextToDisplay:=nomFichier
'Si la cellule active n’est pas dans la colonne E, on affiche un message d’alerte.
End If
End With
Else
MsgBox "Veuillez cliquer dans une cellule de la colonne E.", vbExclamation
End If
End SubExplication "en vert" de la procédure, associée à la feuille
'Début de la procédure, associée à la feuille (et non un module standard !)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Tu ne sélectionnes qu’une seule cellule (pas une plage),
'Et que la cellule est dans la colonne E, lignes 2 à 1000...
If Target.Count = 1 And Not Intersect(Target, Me.Range("E2:E1000")) Is Nothing Then
'on appelle la macro LierDevisPDF automatiquement
Call LierDevisPDF
'Fin de la procédure.
End If
End SubSlts